一、Handler有兩個主要用途
(1)安排消息和runnables在將來的某個時刻執行;
(2)將要在不同於自己的線程上執行的動作排入隊列。
以下語法為15秒執行一次
Handler myHandler = new Handler();//時間處理器myHandler.postDelayed(runTimerStop,15000);//使Runnable 添加到Handler中,在指定的時間到時運行runTimerStop。if(cookieStr!=null){ myHandler.removeCallbacks(runTimerStop);//removeCallbacks方法是删除指定的Runnable對象,使線程對象停止運行。 }二、解android.os.NetworkOnMainThreadException問題
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build());
三、JSON格式分類為列表方法如下:
方法一:
影片教學:JSONArray jsonArray = new JSONArray(r); List<Map<String,Object>> items=new ArrayList<Map<String,Object>>(); for(int i = 0; i < jsonArray.length(); i++) { JSONObject jsonData = jsonArray.getJSONObject(i); Map<String,Object> item=new HashMap<String,Object>(); item.put("id",jsonData.getString("id")); item.put("name",jsonData.getString("name")); item.put("m1",jsonData.getString("m1")); item.put("m2",jsonData.getString("m2")); item.put("m3",jsonData.getString("m3")); items.add(item);//新增}方法二:
ArrayList<String> items = new ArrayList<String>(); for(int i=0; i < jArray.length() ; i++) { json_data = jArray.getJSONObject(i); int id=json_data.getInt("id"); String name=json_data.getString("name"); items.add(name); Log.d(name,"Output"); }JSONArray jArray = new JSONArray(r);
四、PHP語法:用PHP抓取資料的方法。
新增語法如下 (Intert_text1.php 檔案):
require_once("SQL_data.php");
$insert_new1=isset($_POST["S1"])<>NULL?$_POST["S1"]:"ddddd";
$insert_new2=isset($_POST["S2"])<>NULL?$_POST["S2"]:"0";
$insert_new3=isset($_POST["S3"])<>NULL?$_POST["S3"]:"0";
$insert_new4=isset($_POST["S4"])<>NULL?$_POST["S4"]:"0";
mysql_select_db($database,$GD);
$sql=sprintf("INSERT INTO text1(name,m1,m2,m3) VALUES ('%s',%s,%s,%s)",$insert_new1,(int)$insert_new2,(int)$insert_new3,(int)$insert_new4);
$Result=mysql_query($sql,$GD) or die(mysql_error());
mysql_close();
exit();
修改語法如下 ( updata_text1.php 檔案):
require_once("SQL_data.php");
$insert_new0=isset($_POST["S0"])<>NULL?$_POST["S0"]:"NULL";
$insert_new1=isset($_POST["S1"])<>NULL?$_POST["S1"]:"NULL";
$insert_new2=isset($_POST["S2"])<>NULL?$_POST["S2"]:"0";
$insert_new3=isset($_POST["S3"])<>NULL?$_POST["S3"]:"0";
$insert_new4=isset($_POST["S4"])<>NULL?$_POST["S4"]:"0";
mysql_select_db($database,$GD);
$sql=sprintf("UPDATE text1 SET name='%s',m1=%s,m2=%s,m3=%s WHERE id=%s",$insert_new1,(int)$insert_new2,(int)$insert_new3,(int)$insert_new4,(int)$insert_new0);
$Result=mysql_query($sql,$GD) or die(mysql_error());
mysql_close();
exit();
刪除語法如下 (Del_text1.php 檔案):
require_once("SQL_data.php");
$insert_new1=isset($_POST["S1"])<>NULL?$_POST["S1"]:"";
mysql_select_db($database,$GD);
$sql=sprintf("DELETE FROM text1 WHERE id=%s",(int)$insert_new1);
$Result=mysql_query($sql,$GD) or die(mysql_error());
mysql_close();
exit();
取得資料的語法如下 (index.php 檔案):
require_once("SQL_data.php");
$sql="select * from text1 order by id desc ";
mysql_select_db($database,$GD);
$Result=mysql_query($sql,$GD) or die(mysql_error());
while($r = mysql_fetch_assoc($Result))
$output[]=$r;
header('Content-type: application/json; charset=utf-8');
print(json_encode($output,JSON_UNESCAPED_UNICODE));//JSON_UNESCAPED_UNICODE為中文不轉成unicode碼
mysql_close();
exit();
+"'":""; 請問這裡面需要打什麼
回覆刪除你問的是這段"where id='"+$_POST["S1"]+"'":"";嗎?
刪除語法是:isset(問題)<>NULL?正確時顯示:錯誤是顯示;
"where id='"+$_POST["S1"]+"'"為正確時顯示
""為錯誤是顯示
:←它例如if的else
E/eglCodecCommon: glUtilsParamSize: unknow param 0x000088ef 請問這是什麼意思
回覆刪除要看整句錯誤訊息我才能猜出你錯的地方。只給這段我猜不出來。
刪除HI~您好!,希望您還會回覆這篇
刪除我使用Pixel 2 API 27(Android 8.1.0, API 27)是沒問題的!!
但使用Pixel 2 API 29(Android 10, API 29) 會出錯,而我使用我的手機5Z也會無法使用。
以下為錯誤碼,可否給我您的e-mail,我才能把原整的Logcat傳給您,不然超過HTML字元限制了
2019-06-26 10:05:13.152 26540-26540/? E/ample.ndr_text: Unknown bits set in runtime_flags: 0x8000
2019-06-26 10:05:14.376 26540-27668/com.example.ndr_text1 E/eglCodecCommon: glUtilsParamSize: unknow param 0x000088ef
2019-06-26 10:05:14.376 26540-27668/com.example.ndr_text1 E/eglCodecCommon: glUtilsParamSize: unknow param 0x000088ef
2019-06-26 10:05:14.526 26540-27668/com.example.ndr_text1 E/eglCodecCommon: glUtilsParamSize: unknow param 0x000088ef
2019-06-26 10:05:14.527 26540-27668/com.example.ndr_text1 E/eglCodecCommon: glUtilsParamSize: unknow param 0x000088ef
--------- beginning of crash
2019-06-26 10:05:29.100 26540-26540/com.example.ndr_text1 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ndr_text1, PID: 26540
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/client/HttpClient;
at com.example.ndr_text1.DBphp.DBstring(DBphp.java:53)
at com.example.ndr_text1.MainActivity.select(MainActivity.java:146)
at com.example.ndr_text1.MainActivity$6.run(MainActivity.java:139)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7319)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.client.HttpClient" on path: DexPathList[[zip file "/data/app/com.example.ndr_text1-MDwueoVqA_-DM4E-TufmGQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.ndr_text1-MDwueoVqA_-DM4E-TufmGQ==/lib/x86, /system/lib, /system/product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.example.ndr_text1.DBphp.DBstring(DBphp.java:53)
at com.example.ndr_text1.MainActivity.select(MainActivity.java:146)
at com.example.ndr_text1.MainActivity$6.run(MainActivity.java:139)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7319)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
我的e-mail,z0978627167@gmail.com
刪除2019-03-24 19:31:16.822 1733-1733/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
回覆刪除2019-03-24 19:31:16.823 1733-1733/? E/netmgr: WifiForwarder unable to open QEMU pipe: Invalid argument
請問 SQL_data.php檔案的程式碼,可以讓參考嗎?
回覆刪除我不太會
被我給找到
刪除http://devildemon20100423.blogspot.com/2019/04/php-7-mysql.html
請問如果用不到cookie會有影響嗎???只需要網址去連結.....更改很多次但表單還是無法顯示php的內容 也做不到新增之類的動作
回覆刪除請問為甚麼模擬器一打開會閃退?
回覆刪除