編輯:關於Android編程
/** * Created by acer on 2016/9/7. * @author Rine * 創建數據庫 */ public class MyOpenHelper extends SQLiteOpenHelper { /** * 數據庫版本 */ public static final int VERSION = 1; /** * 數據庫名 */ public static final String DB_NAME = "MyOneApp.db"; private Context mcontext; /** * 用戶臨時數據(UserTemp)建表語句 */ public static final String CREATE_USERTEMP = "create table UserTemp (" + "id integer primary key autoincrement, " //id主鍵 + "user_name text, " //用戶賬號 + "user_autograph text," //用戶簽名 + "user_idName text," //用戶網名 + "user_imgAddress text)"; //用戶頭像地址 public MyOpenHelper(Context context) { super(context, DB_NAME, null, VERSION); mcontext = context; } /** * 創建表 */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_USERTEMP); LogInfo.log("數據創建成功"); } /** * 數據庫升級 */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }
public class MainActivity extends Activity{ private MyOpenHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper = new MyOpenHelper(context); dbHelper.getWritableDatabase();//這句話在下面的創建實例及DAO注釋掉。 } }當然,他只在第一次創建才有效(也就是當沒有改表的時候),當創建了該表,第二次就不會重復創建。
/** * Created by acer on 2016/9/7. * @author Rine * APP臨時狀態(UserTemp)的實例 */ public class UserTemp { /**id**/ private int id; /**用戶賬戶**/ private String name; /**用戶簽名**/ private String autograph; /**用戶網名**/ private String idName; /**用戶頭像地址**/ private String imgAddress; public UserTemp() { super(); } public UserTemp(int id, String name, String autograph, String idName, String imgAddress) { super(); this.id = id; this.name = name; this.autograph = autograph; this.idName = idName; this.imgAddress = imgAddress; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAutograph() { return autograph; } public void setAutograph(String autograph) { this.autograph = autograph; } public String getIdName() { return idName; } public void setIdName(String idName) { this.idName = idName; } public String getImgAddress() { return imgAddress; } public void setImgAddress(String imgAddress) { this.imgAddress = imgAddress; } }
/** * Created by acer on 2016/9/7. * @author Rine * UserTemp DAO的管理 */ public class UserTempDAO { /**創建CloudOnlyDB對象 **/ private MyOpenHelper helper; /**創建SQLiteDatabase對象 **/ private SQLiteDatabase db; /** 定義構造函數 **/ public UserTempDAO(Context context) { helper = new MyOpenHelper(context); //初始化CloudOnlyDB對象 db = helper.getWritableDatabase(); //初始化SQLiteDatabase對象, 將上面MainActivity中的這句話注釋掉。 } /** * 添加AppTemp信息 * @param userTemp */ public void add(UserTemp userTemp) { // db = helper.getWritableDatabase(); //初始化SQLiteDatabase對象 /** 執行添加操作 **/ db.execSQL("insert into UserTemp(user_name,user_autograph,user_idName,user_imgAddress)" + "values(?,?,?,?)", new Object[] {userTemp.getName(),userTemp.getAutograph() ,userTemp.getIdName(),userTemp.getImgAddress()}); } /** * 根據account 查找值 * @param user_name * @return */ public Listfind(String user_name ) { List userTemp = new ArrayList (); // Cursor cursor = db.rawQuery("select * from UserTemp",null); //獲取UserTemp的值 Cursor cursor = db.rawQuery("select * from UserTemp where user_name=?" ,new String[] {user_name}); //獲取UserTemp的值 // 將遍歷到的值存儲到UserTemp類中 while (cursor.moveToNext()) //判斷Cursor是否有數據 { //將遍歷到的值存儲到UserTemp類中 userTemp.add(new UserTemp(cursor.getInt(cursor.getColumnIndex("id")), cursor.getString(cursor.getColumnIndex("user_name")), cursor.getString(cursor.getColumnIndex("user_autograph")), cursor.getString(cursor.getColumnIndex("user_idName")), cursor.getString(cursor.getColumnIndex("user_imgAddress")))); }; return userTemp; } /** * 按name對UserTemp進行修改 * @param key 鍵 * @param value 值 * @param name * 鍵的值 * 1為簽名 * 2為網名 * 3為頭像地址 */ public void updateUserTemp(int key, String value, String name) { ContentValues values = new ContentValues(); switch (key) { case 1: values.put("user_autograph", value); db.update("UserTemp", values, "user_name=?", new String[] {name}); break; case 2: values.put("user_idName", value); db.update("UserTemp", values, "user_name=?", new String[] {name}); break; case 3: values.put("user_imgAddress", value); db.update("UserTemp", values, "user_name=?", new String[] {name}); break; default: break; } } /** * 刪除全部 */ public void deleteAll() { db.delete("UserTemp", null, null); } /** * 獲取總記錄數 * @return */ public long getCount() { // db = helper.getWritableDatabase();//初始化SQLiteDatabase對象 Cursor cursor = db.rawQuery("select count(*) from UserTemp", null); //獲取AppTemp的記錄數 if (cursor.moveToNext()) //判斷Cursor是否有數據 { return cursor.getLong(0); //返回總記錄數 } return 0; } }
/** * Created by acer on 2016/9/7. * @author Rine * * 賬戶臨時數據 */ public class UserAccountTemp { private static UserTemp userTemp; private static UserTempDAO userTempDAO; public UserAccountTemp(Context context) { userTemp = new UserTemp(); userTempDAO = new UserTempDAO(context); } /** * 存儲 * (賬戶,簽名,網名,頭像地址) */ public void Save(String name, String autograph, String idName, String imgAddress) { userTemp.setName(name); userTemp.setAutograph(autograph); userTemp.setIdName(idName); userTemp.setImgAddress(imgAddress); userTempDAO.add(userTemp); } /** * 更新 * @param key * 1為簽名 * 2為網名 * 3為頭像地址 * @param value 值 * @param name 賬戶 */ public void Update(int key, String value, String name) { userTempDAO.updateUserTemp(key, value, name); } /** * 查詢 * @param name * @return Object */ public ListSelect(String name) { if(userTempDAO.getCount() == 0) { // LogInfo.log("數據為空"); return null; } else { //LogInfo.log("有數據:"+userTempDAO.getCount()); List userTempList = new ArrayList (); // LogInfo.log("有數據222id:"+userTempDAO.find( name).get(0).getId()); userTempList = userTempDAO.find( name); return userTempList; } } /** * 刪除記錄 */ public void DeleteAll() { userTempDAO.deleteAll(); } /** * 查詢是否有數據 * @return 有則true 無則false */ public boolean isData() { if(userTempDAO.getCount() != 0) { return true; } return false; } }
public class MainActivity extends Activity{ private MyOpenHelper dbHelper; private UserAccountTemp userAccountTemp; private Context context; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper = new MyOpenHelper(context); init(); } //這個是為了驗證數據庫是否正常創建並存入數據。 private void init() { userAccountTemp = new UserAccountTemp(context); userAccountTemp.Save("2449199892","我的作品", "夏-未醒", "就是這樣"); int value = userAccountTemp.Select("2449199892").size(); Toast.makeText(context, "幾條數據:" + value, Toast.LENGTH_SHORT).show(); } }大功告成=-=至於DEMO,因為我集成到項目裡,所以沒有寫出一個DEMO。但是寫的這麼詳細,應該還是能看明白的。 如果有需要=-=我可以Q我。我再放上去。
在上一篇博文中,我們搭建好了Android ndk 的開發環境,作為碼農,我們是不是先來寫一個HelloWorld來表示一下自己的到來。(1)首先在你的工作空間建一個An
小編也曾經遇到過連續幾天都打不開新浪微博的圖片,一開始還以為新浪微博的服務器出問題了!於是問問朋友們有沒這種問題,然而他們都沒出現。於是小編就自己研究了一下
支付寶更新了開發文檔,針對最近的支付開發,做一下詳細的開發流程總結。一、接入流程1.1、第一步:創建應用並獲取APPID創建應用,獲取APPID,並且可以申請開通開放產品
簡單實現的短信發送器,效果截圖如下: 其中的java代碼如下:package com.mxy.smssend; import java.util.ArrayList;