Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android app 程序設計思路小結

android app 程序設計思路小結

編輯:關於Android編程

android app 程序設計思路小結

一、model設計與實現

建立業務POJO,比如user

public class User{
    private int userId;
    private String userName;

    public User(int userId, String userName){
        this.userId = userId;
        this.userName = userName;
    }

    public void setUserId(int userId){
        this.userId = userId;
    }

    public void setUserName(String userName){
        this.userName = userName;
    }

    public int getUserId(){
        return this.userId;
    }

    public String getUserName(){
        return this.userName;
    }

}

二、net網絡交互接口設計與實現

1,請求格式定義。

http://192.168.1.31/CommandHandler.ashx
{
"MessageContent":"{'CourierId':'652','TrackingY':31.174406,'Province':'上海市','District':'闵行區','City':'上海市','TrackingX':121.39061,'Address':'上海市闵行區萬源路2163號'}",
"Passport":"mWEKICmWIVD0YRGXMSRC5HH7SYVMIVlVEGOMRK",
"Function":"AddCourierTracking",
"Usage":"User"
}

2,返回格式定義

{
"ResultFlag":1,
"ErrorMessage":null,
"Passport":"mWEKICmWIVD0YRGXMSRC5HH7SYVMIVlVEGOMRK",
"MessageContent":{
\"Result\":null,
\"ResponseStatus\":{
\"ErrorCode\":\"1\",
\"Message\":null,
\"StackTrace\":null,
\"Errors\":null
}
}
}

3,實現方法需要適配多樣情形(方法重載),內部實現需要避免重復(內聚)。

public class NetUtil{

    public static void doPost(Context context, HashMap map, Handler handler, Callback callBack){
        doRequest(context, map, handler, callBack);
    }

    public static void doGet(Context context, Handler handler, CallBack callBack){
        doRequest(context, null, handler, callBack);
    } 

    private static void doRequest(Context context, HashMap map, Handler handler, Callback callBack){
        ...
    }
}

三、UI界面框架

1,定義自己的超類,比如MyActivity, MyFragment

public class MyActivity extends Activity{

}

2,建立超類鏈(),分別插入日志、Toast、進度條、導航欄,標題欄等共用UI元素,分開插入是為了方便拓展和去掉。

public class LoggableActivity extends Activity{

    protected static String TAG = this.getClass.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LogUtil.log(TAG,"onCreate()");
    }

}

3,分別實現各個頁面,繼承自最低級別的超類。

public class LoginActivity extends LoggableActivity{}

4,Adapter,service,broadCast等類似。

四、管理數據

1,使用ContentProvider。

2,使用Sqlite。

3,文件方式存儲(SharedPerference、sd卡)需要添加加解密。

4,使用內存緩存策略,比如LRU算法。

五、發布和proguard

1,所有被androidmanifest.xml定義的類不能混淆,所以關鍵業務邏輯實現要移除被調用類。

2,引用的第三方包不能混淆。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved