編輯:關於Android編程
回過頭來審視之前做過的Android項目,發覺自己重新開發時忽然間不知所措了,間隔了太長時間沒有開發導致自己的Android技能知識急劇下降。溫故而知新。
廢話少說,進入正題~
下面主要以自己之前開發過的Android小項目為例,探討Android開發基本流程,以及其中所涉及到的原理。
項目名稱為“我查查”,主要的實現功能是查詢、添加商品評價,分享購物體驗。
主要界面如下:
圖1 主功能界面
圖2 查看商品信息
圖3 添加新評論
圖4 掃碼操作
圖5 查看最新分享
圖6 添加商品信息
圖7 用戶注冊
圖8 當前用戶狀態
新建一個Android項目時,在AndroidManifest.xml配置文件中可設置應用名稱、應用權限以及配置四大組件,各節點配置可參考網絡上其它文獻。
至此,應用入口確定,為WelcomeActivity,進入WelcomActivity,代碼如下:
package org.wokankan; import java.util.TimerTask; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.view.Window; public class WelcomeActivity extends Activity { protected static final int LOGINOVER = 0; protected static final String TAG = "Welcome"; private Handler handler; //因為要重寫構造方法,所以不能用匿名內部類 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 設置登錄無標題欄 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.welcome); HandlerThread myThread = new HandlerThread("myHandlerThread"); myThread.start(); handler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == LOGINOVER){ // 頁面跳轉 Intent intent = new Intent(WelcomeActivity.this, MainActivity.class); startActivity(intent); WelcomeActivity.this.finish(); } } }; tt.run(); } TimerTask tt = new TimerTask() { @Override public void run() { //Log.i(TAG, Thread.currentThread().getName()); // 設置3s後跳轉到MainActivity handler.sendMessageDelayed(handler.obtainMessage(LOGINOVER), 3000); } }; }
在運行時,再次出現了令人煩惱的字符集編碼問題,中文字符寫入數據庫時全部為問號。如下圖所示。
問題出在寫入數據庫時,寫入之前中文字符正常顯示,寫入後變為亂碼。為此需要設置數據庫的編碼方式。
根據前面的問題解決方式,在mysql中直接以sql語句的形式進行測試,測試語句如下:
insert into product(barcode,product_name,guige,changjia,xinghao,imguri,qrbarcode_uri) values("123","測試","12","中國","","","");
執行時,果然出現了問題。錯誤提示如下:
按照之前解決問題的思路,總結如下:
要想實現中文字符插入數據庫中時不出現亂碼現象需滿足如下條件:
在連接數據庫時需指定編碼方式,示例如下:
jdbc:mysql://localhost:3308/lmapp?useUnicode=true&characterEncoding=utf8
後面的編碼方式指定尤為重要。
要求: 輸入文件名,文件內容分別存儲在手機內存和外存中,並且都可以讀去取出來。 步驟: 1.創建一個名為CDsaveFile的Android項目2.編寫布局文件activ
一、首先說明:藍牙通信必須用手機測試,因為avd裡沒有相關的硬件,會報錯!好了,看看最後的效果圖:二、概述:1.判斷是否支持BluetoothBluetoothAdapt
如今,大部分的AR都是基於移動設備的,所以這裡我們嘗試在Android中調用OpenCV的功能來做一些相關的測試。由於OpenCV是基於C語言和部分C++語言開發的,而A
先給大家展示下關於仿支付寶錢包首頁中帶有分割線的gridview,俗稱九宮格 的效果圖,怎麼樣是不是和你想象的一樣啊。在你的預料之中就繼續訪問以下代碼內容吧。我們都知道L