Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android進階(二十三)Android開發過程之實例講解

Android進階(二十三)Android開發過程之實例講解

編輯:關於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. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved