まとめ:宝くじアイテムのメンテナンス後の感想
9212 ワード
2019-09-03 20:51:13
市販されている多くのバージョンのcaipiaoプロジェクト
最近phpバージョンのプロジェクトがあり、関連するメンテナンス、修正を行います.
お客様は既製のものを買って、修正をしました.問題が多いですね.何日かやったが,頭が大きい.
原作者は本当にlow家に着いたと言わざるを得ません.いいでしょう.人を批判しないで、やはり得たことを話しましょう.
1、phpサイトの問題
mysqlデータベースのバージョンの問題によるさまざまな小さな問題:sql_mode
a、not null結果insert時に値を与えないとエラーになり、ヒントのないinsertに失敗します.STRICT_TRANS_TABLES
b、groupby非強制列.ONLY_FULL_GROUP_BY
2、apk問題
お客様はapkプロパティへのアクセスをパッケージ化する必要がありますが、webviewバージョンの互換性の問題にも成功しました.低バージョンはjsサポートに完璧ではありません.
Webviewはandroidシステム内蔵モジュールを使用しているため、異なるandroidバージョンに対応するwebviewが一致しません.
a、webview 39バージョン、android 5.1;ES 6構文はサポートされていません.layuiは支持がいいですね.
b、webviewバージョンが低いためchrome 76でページをリモートデバッグできず、inspectでjsを正常にデバッグできない.
c,alert,confirmは直接原生的にサポートされていない.Webviewで処理します.
市販されている多くのバージョンのcaipiaoプロジェクト
最近phpバージョンのプロジェクトがあり、関連するメンテナンス、修正を行います.
お客様は既製のものを買って、修正をしました.問題が多いですね.何日かやったが,頭が大きい.
原作者は本当にlow家に着いたと言わざるを得ません.いいでしょう.人を批判しないで、やはり得たことを話しましょう.
1、phpサイトの問題
mysqlデータベースのバージョンの問題によるさまざまな小さな問題:sql_mode
a、not null結果insert時に値を与えないとエラーになり、ヒントのないinsertに失敗します.STRICT_TRANS_TABLES
b、groupby非強制列.ONLY_FULL_GROUP_BY
sql_mode :
ONLY_FULL_GROUP_BY: GROUP BY , SELECT , GROUP BY , SQL , GROUP BY
NO_AUTO_VALUE_ON_ZERO: 。 , 0 NULL 。 0, , 。
STRICT_TRANS_TABLES: , , ,
NO_ZERO_IN_DATE: ,
NO_ZERO_DATE: ,mysql , 。
ERROR_FOR_DIVISION_BY_ZERO: INSERT UPDATE , , 。 , MySQL NULL
NO_AUTO_CREATE_USER: GRANT
NO_ENGINE_SUBSTITUTION: , 。 , ,
PIPES_AS_CONCAT: ”||” , Oracle , Concat
ANSI_QUOTES: ANSI_QUOTES , ,
2、apk問題
お客様はapkプロパティへのアクセスをパッケージ化する必要がありますが、webviewバージョンの互換性の問題にも成功しました.低バージョンはjsサポートに完璧ではありません.
Webviewはandroidシステム内蔵モジュールを使用しているため、異なるandroidバージョンに対応するwebviewが一致しません.
a、webview 39バージョン、android 5.1;ES 6構文はサポートされていません.layuiは支持がいいですね.
b、webviewバージョンが低いためchrome 76でページをリモートデバッグできず、inspectでjsを正常にデバッグできない.
c,alert,confirmは直接原生的にサポートされていない.Webviewで処理します.
public class MainActivity extends AppCompatActivity {
private WebView webView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView.setWebContentsDebuggingEnabled(true);
setContentView(R.layout.activity_main);
webView1 = (WebView) findViewById(R.id.webView1);
WebSettings webSettings = webView1.getSettings();
webSettings.setJavaScriptEnabled(true);
webView1.setWebViewClient(new WebViewClient());
webView1.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
builder.setTitle("")
.setMessage(message)
.setPositiveButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
})
.setCancelable(false)
.create()
.show();
return true;
}
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
builder.setTitle("")
.setMessage(message)
.setPositiveButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
})
.setNegativeButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
})
.setCancelable(false)
.create()
.show();
return true;
}
@Override
public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {
final EditText et = new EditText(view.getContext());
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
builder.setTitle("")
.setMessage(message)
.setView(et)
.setPositiveButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm(et.getText().toString());
}
})
.setNegativeButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
})
.setCancelable(false)
.create()
.show();
return true;
}
});
webView1.loadUrl("http://192.168.0.107");
}
}