android项目--超级简单的android通讯录

Java代码   收藏代码
  1. <p>哥最近做了一个小项目《铁哥们通讯录》,作为练手项目给大家分享一下。</p><p>功能也很简单,一个主界面,然后在主界面弹出一个添加界面,一个信息列表。</p><p>其中只用到了1个activity,1个sqlite帮助类。</p>  
Java代码   收藏代码
  1. 下面是activity类  

    




 
 
 
 

 

Java代码   收藏代码
  1. package com.feelling.ui;  
  2.    
  3. import java.util.ArrayList;   
  4.    
  5. import com.woz.util.Config;  
  6. import com.woz.util.DataBaseHelper;  
  7.    
  8. import android.app.AlertDialog;  
  9. import android.content.ContentValues;  
  10. import android.content.DialogInterface;  
  11. import android.database.Cursor;  
  12. import android.database.sqlite.SQLiteDatabase;  
  13. import android.os.Bundle;  
  14. import android.view.KeyEvent;  
  15. import android.view.LayoutInflater;  
  16. import android.view.View;  
  17. import android.view.ViewGroup;  
  18. import android.view.View.OnClickListener;   
  19. import android.widget.Button;  
  20. import android.widget.EditText;   
  21.   
  22.   
  23. /****  
  24.  * @production  铁哥们通讯录 
  25.  * @company     android技术帮--【技术成就梦想】 
  26.  * @department  群号:85506951 
  27.  * @author      良仔(qq:953486326) 
  28.  * {@docRoot    通讯录的启动初始化界面 } 
  29.  * @version     1.0 
  30.  * @since       2011\9\21 
  31.  * @see         欢迎对android感兴趣的童鞋加入android技术帮,共同学习,共同进步! 
  32.  * ****/  
  33.   
  34. public class MainActivity extends ProDialogImp {  
  35.     /** Called when the activity is first created. */  
  36.     //---------- main ----------------  
  37.     Button addButton,queryButton;  // 按钮-添加,查询  
  38.     //---------- add user ----------------    
  39.     EditText username,phone;   
  40.     String   userStr,phoneStr;  
  41.     //----------- list user -----------------------  
  42.       
  43.     @Override  
  44.     public void onCreate(Bundle savedInstanceState) {  
  45.         super.onCreate(savedInstanceState);  
  46.         setContentView(R.layout.main);   
  47.         // main  
  48.         addButton = (Button)findViewById(R.id.addUserBtn);  
  49.         queryButton = (Button)findViewById(R.id.listUserBtn);    
  50.           
  51.         // 添加  
  52.         addButton.setOnClickListener(new OnClickListener(){  
  53.             @Override  
  54.             public void onClick(View v) {  
  55.                   // 这里直接跳到添加的ui中去  
  56.                 //  setContentView(R.layout.add_user);   
  57.                  LayoutInflater inflater = getLayoutInflater();  
  58.                  View layout = inflater.inflate(R.layout.add_user, (ViewGroup)findViewById(R.id.dialog));  
  59.                    
  60.                    // 内容元素  
  61.                    username = (EditText)layout.findViewById(R.id.userNameET);  
  62.                    phone = (EditText)layout.findViewById(R.id.phoneNumberET);   
  63.                  new AlertDialog.Builder(MainActivity.this).setTitle("添加联系人").setView(layout)  
  64.                  .setPositiveButton("确定",  new DialogInterface.OnClickListener() { //添加事件  
  65.                         public void onClick(DialogInterface dialog, int which) {  
  66.                               // 这里直接跳到添加的ui中去   
  67.                               System.out.println(" on insert table user ---> ");     
  68.                               DataBaseHelper dbHelper = new DataBaseHelper(MainActivity.this,Config.DB_NAME);  
  69.                               SQLiteDatabase sdb = dbHelper.getWritableDatabase();  
  70.                                
  71.                               // put value   
  72.                               userStr = username.getText().toString();  
  73.                               phoneStr = phone.getText().toString();  
  74.                               if(userStr!=null&&phoneStr!=null){  
  75.                                    ContentValues cv = new ContentValues();  
  76.                                    // cv.put("id", 1);  
  77.                                    cv.put("title", userStr);  
  78.                                    cv.put("content", phoneStr);  
  79.                                    sdb.insert(Config.TABLE_NAME, null, cv);   
  80.                                    showAlert("数据添加成功!");  
  81.                               }else{  
  82.                                    showAlert("数据数据格式错误,请重新输入!");  
  83.                               }   
  84.                       }}).setNegativeButton("取消"null).show();    
  85.                     }  
  86.             });  
  87.          
  88.         // 查询  
  89.         queryButton.setOnClickListener(new OnClickListener(){  
  90.             @Override  
  91.             public void onClick(View v) {  
  92.                    
  93.                 DataBaseHelper dbHelper = new DataBaseHelper(MainActivity.this,Config.DB_NAME);  
  94.                 SQLiteDatabase db = dbHelper.getReadableDatabase();  
  95.                 Cursor  cs = db.query(Config.TABLE_NAME, new String[]{"_id","title","content"}, nullnullnullnullnull);   
  96.                    
  97.                 ArrayList<String> alist = new ArrayList<String>();  
  98.                 while(cs.moveToNext()){  
  99.                       int id = cs.getInt(cs.getColumnIndex("_id"));   
  100.                       String name = cs.getString(cs.getColumnIndex("title"));  
  101.                       String con = cs.getString(cs.getColumnIndex("content"));  
  102.                       alist.add(id+"."+name+"["+con+"]");   
  103.                       System.out.println(" query [t_note]--> id = "+ id +" name = " + name +" con = " + con  );  
  104.                   }   
  105.                   final    String[] contacts = new String[alist.size()];   
  106.                   for(int a=0;a<alist.size();a++){  
  107.                       contacts[a] = alist.get(a);  
  108.                   }  
  109.                        
  110.                 new AlertDialog.Builder(MainActivity.this).setTitle("内容列表").setIcon(  
  111.                         android.R.drawable.ic_dialog_info).setItems(     
  112.                         contacts,   
  113.                         new DialogInterface.OnClickListener() {  
  114.                             public void onClick(DialogInterface dialog, int which) {  
  115.                                 //dialog.dismiss();  
  116.                                String   artId = contacts[which].substring(01);  
  117.                                alertDeleteOpt(artId);  
  118.                                //  showAlert("msg --> " + artId);  
  119.                             }  
  120.                         })   
  121.                         .setNegativeButton("取消"null).show();  
  122.                   
  123.              /*   ListAdapter listapt = new SimpleCursorAdapter(MainActivity.this, 
  124.                             android.R.layout.simple_expandable_list_item_1, 
  125.                             cs, 
  126.                             new String[]{"title"}, 
  127.                             new int[]{android.R.id.text1} ); 
  128.                  
  129.                 ListView  listUser = new ListView(MainActivity.this);   
  130.                 listUser.setAdapter(listapt); 
  131.                 setContentView(listUser);  */  
  132.             }  
  133.         });   
  134.     }    
  135.     // 删除数据  
  136.     public void deleteData(String id){  
  137.           DataBaseHelper dbHelper = new DataBaseHelper(MainActivity.this,Config.DB_NAME);  
  138.           SQLiteDatabase sdb = dbHelper.getWritableDatabase();  
  139.           sdb.delete(Config.TABLE_NAME,  " _id=?"new String[]{id}); //删除数据   
  140.     }  
  141.        
  142.     /** 
  143.      *   删除操作 
  144.      */  
  145.     public void alertDeleteOpt(final String id){    
  146.         new AlertDialog.Builder(this)  
  147.             .setCancelable(false)  
  148.             .setMessage("您确定要删除这条信息吗?")  
  149.             .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  150.                 public void onClick(DialogInterface dialog, int which) {  
  151.                     deleteData(id);  
  152.              }})  
  153.              .setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  154.                     public void onClick(DialogInterface dialog, int which) {  
  155.                          dialog.cancel();  
  156.              }})  
  157.              .show();   
  158.     }    
  159.       //退出程序  
  160.       @Override  
  161.         public boolean onKeyDown(int keyCode, KeyEvent event) {   
  162.              if (keyCode == KeyEvent.KEYCODE_BACK)// 返回按键   
  163.              {             
  164.                    new AlertDialog.Builder(this)  
  165.                     .setCancelable(false)  
  166.                     .setIcon(android.R.drawable.btn_star)  
  167.                     .setTitle("退出")  
  168.                     .setMessage("您确认要退出程序吗?")  
  169.                     .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  170.                         public void onClick(DialogInterface dialog, int which) {   
  171.                              MainActivity.this.finish();    //关闭程序的核心方法  
  172.                      }})  
  173.                      .setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  174.                             public void onClick(DialogInterface dialog, int which) {  
  175.                                  dialog.cancel();  
  176.                      }})  
  177.                      .show();  
  178.              }  
  179.             return true;  
  180.         }    
  181. }  
  182.    
Java代码   收藏代码
  1. 下面sqlite帮助类,其他的不太重要,所以就放到附件了,欢迎大家下载共同讨论学习。  
Java代码   收藏代码
  1. <p><span style="background-color: #fafafa;">package com.woz.util;  
  2.    
  3.    
  4. import android.content.Context;   
  5. import android.database.sqlite.SQLiteDatabase;  
  6. import android.database.sqlite.SQLiteOpenHelper;  
  7. import android.database.sqlite.SQLiteDatabase.CursorFactory;   
  8.     
  9. /****  
  10.  * @production  铁哥们通讯录 
  11.  * @company     android技术帮--【技术成就梦想】 
  12.  * @department  群号:85506951 
  13.  * @author      良仔(qq:953486326) 
  14.  * <a href="mailto:%7B@docRoot">{@docRoot</a>    访问sqlite数据的助手类  
  15.  * 创建了一个note记录表 
  16.  *  
  17.  * _id,     主键 
  18.  * title,  标题      
  19.  * content,内容    } 
  20.  * @version     1.0 
  21.  * @since       2011\9\21 
  22.  * @see         欢迎对android感兴趣的童鞋加入android技术帮,共同学习,共同进步! 
  23.  * ****/  
  24. public class DataBaseHelper extends SQLiteOpenHelper {  
  25.    
  26.  public DataBaseHelper(Context context, String name, CursorFactory factory,  
  27.    int version) {  
  28.   super(context, name, factory, version);  
  29.   // TODO Auto-generated constructor stub  
  30.  }  
  31.  public DataBaseHelper(Context context, String name,    
  32.    int version) {  
  33.   this(context, name, null, version);  
  34.   // TODO Auto-generated constructor stub  
  35.  }  
  36.  public DataBaseHelper(Context context, String name) {  
  37.   this(context, name, Config.VERSION);  
  38.   // TODO Auto-generated constructor stub  
  39.  }  
  40.     
  41.  @Override  
  42.  public void onCreate(SQLiteDatabase db) {  
  43.   // TODO Auto-generated method stub  
  44.         System.out.println(" create table --> ");  
  45.   // 执行创建  
  46.         db.execSQL("create table "+ Config.TABLE_NAME +  
  47.              "(_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT," +  
  48.              "title varchar(100)," +  
  49.              "content text)");    
  50.  }</span></p><p><span style="background-color: #fafafa;"@Override  
  51.  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  52.   // TODO Auto-generated method stub  
  53.         System.out.println(" up grade datebase --> ");  
  54.         db.execSQL("drop table " + Config.TABLE_NAME);  
  55.         db.execSQL("create table "+ Config.TABLE_NAME +  
  56.              "(_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT," +  
  57.              "title varchar(100)," +  
  58.              "content text)");    
  59.  }   
  60. }  
  61. </span></p>  
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值