当前位置: 移动技术网 > IT编程>移动开发>Android > 适用于Android开发的简单聊天软件

适用于Android开发的简单聊天软件

2019年07月24日  | 移动技术网IT编程  | 我要评论

水中花美女壁纸网,石家庄市邮编,忽悠鬼

适用于android 开发。是一个简单的聊天软件,包括知识点,各个控件的运用(expandablelistview,viewpager,spinner,linearlayout,relativelayot),自定义的viaimageview(自定义xml属性),sql 的写入,读取等操作。

1. viaimageview.java   

package com.farina.farinaimagelib;
 
import android.content.context;
import android.content.res.typedarray;
import android.graphics.bitmap;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.path;
import android.graphics.porterduff;
import android.graphics.porterduffxfermode;
import android.graphics.rectf;
import android.graphics.xfermode;
import android.graphics.drawable.drawable;
import android.graphics.drawable.ninepatchdrawable;
import android.util.attributeset;
import android.widget.imageview;
 
/**
 * created by farinazhang on 2016/5/25.
 */
public class viaimageview extends imageview {
 private int shapetype=-1;
 private int borderwidth=0; //the image 's border width
 private int bordercolor= color.black; //the image 's border color
 private boolean usedefaultstyle =false; //draw a common imageview
 private static final xfermode mask_xfermode;
 private int animtype=-1; //动画类型
 private int mwidth; //图片的宽度
 private int mheight; //图片的高度
 
 static {
 porterduff.mode localmode = porterduff.mode.dst_in;
 mask_xfermode = new porterduffxfermode(localmode);
 }
 
 public static enum shape {circle,triangle,star,hexagonal,rectangle};
 
 public viaimageview(context context){
 super(context);
 init(context, null, 0);
 }
 public viaimageview(context context, attributeset attrs){
 super(context, attrs);
 init(context, attrs, 0);
 }
 public viaimageview(context context,attributeset attrs,int defstyle){
 super(context, attrs, defstyle);
 init(context, attrs, defstyle);
 }
 
 public void init(context context,attributeset attrs,int defstyle){
 
 
 if(attrs!=null){
  typedarray a = getcontext().obtainstyledattributes(
   attrs,r.styleable.viaimage, defstyle, 0);
  shapetype = (int)a.getinteger(r.styleable.viaimage_shapetype,shapetype);
  borderwidth=(int)a.getdimension(r.styleable.viaimage_borderwidth,borderwidth);
  bordercolor = a.getcolor(r.styleable.viaimage_bordercolor, bordercolor);
 
  a.recycle();
 
 }
 }
 
 /**
 *外部接口
 *设置imageview的属性,包括形状,边框颜色,边框宽度
 **/
 public void setimageviewproperty(int shapetype,int width,int color){
 this.shapetype = shapetype;
 this.borderwidth = width;
 this.bordercolor = color;
 
 postinvalidate();
 }
 
 public void setimageviewshape(int shapetype){
 this.shapetype = shapetype;
 
 postinvalidate();
 }
 
 public void setimageborderwidth(int width){
 this.borderwidth = width;
 postinvalidate();
 }
 public void setimagebordercolor(int color){
 this.bordercolor = color;
 postinvalidate();
 }
 
 
 /** 外部接口
 * 设置是否以默认格式绘制,普通格式
 */
 public void setdrawcommonimage(boolean iscommon){
 this.usedefaultstyle=iscommon;
 }
 
 @override
 protected void ondraw(canvas canvas){
 if(usedefaultstyle){
  super.ondraw(canvas);
  return;
 }
 final drawable localdrawable=getdrawable();
 if(localdrawable==null)return;
 if(localdrawable instanceof ninepatchdrawable)return;
 
 mwidth=getwidth();
 mheight=getheight();
 
 int layer=canvas.savelayer(0.0f,0.0f,mwidth,mheight,null,canvas.all_save_flag);
 localdrawable.setbounds(0,0,mwidth,mheight);
 /*将drawable绑定到bitmap(this.mask)上面(drawable 只能通过bitmap显示出来)*/
 localdrawable.draw(canvas);
 
 createshapebitmap(canvas);
 
 /*将画布复制到layer上*/
 canvas.restoretocount(layer);
 
 if(borderwidth!=0){
  drawborder(canvas);
 }
 
 }
 private void createshapebitmap(canvas canvas){
 paint mypaint;
 
 mypaint = new paint();
 mypaint.setfilterbitmap(false);
 mypaint.setantialias(true);
 mypaint.setxfermode(mask_xfermode);
 
  bitmap.config localconfig=bitmap.config.argb_8888;
  bitmap localbitmap=bitmap.createbitmap(mwidth,mheight,localconfig);
  canvas localcanvas=new canvas(localbitmap);
  paint localpaint = new paint();
  localpaint.setantialias(true);
  int padding=borderwidth;
  int radius = ((mwidth>mheight)?mheight:mwidth)/2-padding;
 
  switch(shapetype){
  case 0://圆形;
  {
   localcanvas.drawcircle(mwidth/2,mheight/2, radius, localpaint);
   break;
  }
  case 1://三角形;
  {
   path path = new path();
   path.moveto(padding, padding);
   path.lineto(mwidth / 2, (float)(mwidth*math.cos(degree2radian(30))-padding));
   path.lineto(mwidth-padding, padding);
 
   path.close();
   localcanvas.drawpath(path, localpaint);
   break;
  }
  case 2://五角星形;
  {
   path path = new path();
   float radian = degree2radian(36);// 36为五角星的角度
   float radius_in = (float) (radius * math.sin(radian / 2) / math
    .cos(radian)); // 中间五边形的半径
 
   path.moveto((float) (radius * math.cos(radian / 2)), 0);// 此点为多边形的起点
   path.lineto((float) (radius * math.cos(radian / 2) + radius_in
     * math.sin(radian)),
    (float) (radius - radius * math.sin(radian / 2)));
   path.lineto((float) (radius * math.cos(radian / 2) * 2),
    (float) (radius - radius * math.sin(radian / 2)));
   path.lineto((float) (radius * math.cos(radian / 2) + radius_in
     * math.cos(radian / 2)),
    (float) (radius + radius_in * math.sin(radian / 2)));
   path.lineto(
    (float) (radius * math.cos(radian / 2) + radius
     * math.sin(radian)), (float) (radius + radius
     * math.cos(radian)));
   path.lineto((float) (radius * math.cos(radian / 2)),
    (float) (radius + radius_in));
   path.lineto(
    (float) (radius * math.cos(radian / 2) - radius
     * math.sin(radian)), (float) (radius + radius
     * math.cos(radian)));
   path.lineto((float) (radius * math.cos(radian / 2) - radius_in
     * math.cos(radian / 2)),
    (float) (radius + radius_in * math.sin(radian / 2)));
   path.lineto(0, (float) (radius - radius * math.sin(radian / 2)));
   path.lineto((float) (radius * math.cos(radian / 2) - radius_in
     * math.sin(radian)),
    (float) (radius - radius * math.sin(radian / 2)));
 
   path.close();// 使这些点构成封闭的多边形
   localcanvas.drawpath(path, localpaint);
   break;
  }
  case 3://正六边形;
  {
   path path= new path();
   float radian = degree2radian(30);
   path.moveto((float)(radius*math.sin(radian)), 0);
   path.lineto((float)(radius*math.sin(radian)+radius), 0);
   path.lineto((float)(2*radius), (float)(radius*math.cos(radian)) );
   path.lineto((float)(radius*math.sin(radian)+radius),(float)(2*(radius*math.cos(radian))));
   path.lineto((float)(radius*math.sin(radian)),(float)(2*(radius*math.cos(radian))));
   path.lineto(0,(float)(radius*math.cos(radian)));
   path.close();
   localcanvas.drawpath(path,localpaint);
   break;
  }
  default://方形
  {
   int realwidth = (mwidth>mheight)?mheight:mwidth;
   int x = padding +(mwidth-realwidth)/2;
   int y = padding +(mheight-realwidth)/2;
   rectf localrectf=new rectf(x, y, realwidth-padding*2, realwidth-padding*2);
   localcanvas.drawrect(localrectf, localpaint);
   break;
  }
  }
 
 
 /*将bitmap 画到canvas上*/
 canvas.drawbitmap(localbitmap,0.0f,0.0f,mypaint);
 }
 
 //画边框
 private void drawborder(canvas canvas){
 paint localpaint = new paint();
 localpaint.setcolor(bordercolor);
 localpaint.setstyle(paint.style.stroke);
 localpaint.setstrokewidth(borderwidth);
 localpaint.setantialias(true);
 
 int radius=((mwidth>mheight)?mheight:mwidth)/2-borderwidth/2;
 int padding = borderwidth/2;
 switch(shapetype){
  case 0://圆形;
  {
  canvas.drawcircle(mwidth/2, mheight/2,radius,localpaint);
  break;
  }
  case 1://三角形;
  {
  path path = new path();
  path.moveto(padding, padding);
  path.lineto(mwidth / 2, (float)(mwidth*math.cos(degree2radian(30))-padding));
  path.lineto(mwidth-padding, padding);
 
  path.close();
  canvas.drawpath(path, localpaint);
  break;
  }
  case 2://五角星形;
  {
  path path = new path();
  float radian = degree2radian(36);// 36为五角星的角度
  float radius_in = (float) (radius * math.sin(radian / 2) / math
   .cos(radian)); // 中间五边形的半径
 
  path.moveto((float) (radius * math.cos(radian / 2)), 0);// 此点为多边形的起点
  path.lineto((float) (radius * math.cos(radian / 2) + radius_in
    * math.sin(radian)),
   (float) (radius - radius * math.sin(radian / 2)));
  path.lineto((float) (radius * math.cos(radian / 2) * 2),
   (float) (radius - radius * math.sin(radian / 2)));
  path.lineto((float) (radius * math.cos(radian / 2) + radius_in
    * math.cos(radian / 2)),
   (float) (radius + radius_in * math.sin(radian / 2)));
  path.lineto(
   (float) (radius * math.cos(radian / 2) + radius
    * math.sin(radian)), (float) (radius + radius
    * math.cos(radian)));
  path.lineto((float) (radius * math.cos(radian / 2)),
   (float) (radius + radius_in));
  path.lineto(
   (float) (radius * math.cos(radian / 2) - radius
    * math.sin(radian)), (float) (radius + radius
    * math.cos(radian)));
  path.lineto((float) (radius * math.cos(radian / 2) - radius_in
    * math.cos(radian / 2)),
   (float) (radius + radius_in * math.sin(radian / 2)));
  path.lineto(0, (float) (radius - radius * math.sin(radian / 2)));
  path.lineto((float) (radius * math.cos(radian / 2) - radius_in
    * math.sin(radian)),
   (float) (radius - radius * math.sin(radian / 2)));
 
  path.close();// 使这些点构成封闭的多边形
  canvas.drawpath(path, localpaint);
  break;
  }
  case 3://正六边形;
  {
  path path= new path();
  float radian = degree2radian(30);
  path.moveto((float)(radius*math.sin(radian)), 0);
  path.lineto((float)(radius*math.sin(radian)+radius), 0);
  path.lineto((float)(2*radius), (float)(radius*math.cos(radian)) );
  path.lineto((float)(radius*math.sin(radian)+radius),(float)(2*(radius*math.cos(radian))));
  path.lineto((float)(radius*math.sin(radian)),(float)(2*(radius*math.cos(radian))));
  path.lineto(0,(float)(radius*math.cos(radian)));
  path.close();
  canvas.drawpath(path,localpaint);
  break;
  }
  default://方形
  {
  int realwidth = (mwidth>mheight)?mheight:mwidth-borderwidth;
  int x = padding +(mwidth-realwidth)/2;
  int y = padding +(mheight-realwidth)/2;
  rectf localrectf=new rectf(x, y, realwidth-padding*2, realwidth-padding*2);
  canvas.drawrect(localrectf, localpaint);
  break;
  }
 }
 }
 
 //将角度转化为弧度
 private float degree2radian(int degree) {
 // todo auto-generated method stub
 return (float) (math.pi * degree / 180);
 }
 
 
 
}

2. contactexpendlistadapter.java

package com.farina.adapter;
 
import android.content.context;
import android.view.layoutinflater;
import android.view.view;
import android.view.viewgroup;
import android.widget.baseexpandablelistadapter;
import android.widget.imageview;
import android.widget.textview;
 
import com.farina.data.friendentity;
import com.farina.data.friendlistdata;
import com.farina.farinaimagelib.viaimageview;
import com.farina.libtest.r;
 
import java.util.list;
 
/**
 * created by farinazhang on 2016/7/5.
 */
public class contactexpendlistadapter extends baseexpandablelistadapter {
 private context mcontext;
 private list<friendlistdata> mlistdata;
 
 
 public contactexpendlistadapter(context context, list<friendlistdata> data){
 mcontext = context;
 mlistdata = data;
 }
 @override
 public int getgroupcount(){
 return mlistdata.size();
 }
 @override
 public int getchildrencount(int groupposition){
 return mlistdata.get(groupposition).getfriendchildlist().size();
 }
 @override
 public object getgroup(int groupposition){
 return mlistdata.get(groupposition).getgroupname();
 }
 @override
 public object getchild(int groupposition, int childposition){
 return mlistdata.get(groupposition).getfriendchildlist().get(childposition);
 }
 @override
 public long getgroupid(int groupposition){
 return groupposition;
 }
 @override
 public long getchildid(int groupposition, int childposition){
 return childposition;
 }
 @override
 public view getgroupview(int groupposition, boolean isexpanded, view convertview, viewgroup parent){
 groupholder viewholder =null;
 if(convertview == null){
  convertview = layoutinflater.from(mcontext).inflate(r.layout.contact_list_group, null);
  viewholder = new groupholder();
  viewholder.icon = (imageview)convertview.findviewbyid(r.id.icon);
  viewholder.groupname = (textview)convertview.findviewbyid(r.id.goup_name);
  convertview.settag(viewholder);
 }else{
  viewholder = (groupholder)convertview.gettag();
 }
 
 viewholder.groupname.settext(mlistdata.get(groupposition).getgroupname());
 if(isexpanded){
  viewholder.icon.setimageresource(r.mipmap.arrow_down);
 }else{
  viewholder.icon.setimageresource(r.mipmap.arrow_up);
 }
 
 return convertview;
 }
 @override
 public view getchildview(int groupposition, int childposition, boolean islastchild,
    view convertview, viewgroup parent){
 memberholder viewholder = null;
 if(convertview == null){
  convertview = layoutinflater.from(mcontext).inflate(r.layout.contact_list_member, null);
 
  viewholder= new memberholder();
  viewholder.memberimg = (viaimageview) convertview.findviewbyid(r.id.member_img);
  viewholder.membername = (textview)convertview.findviewbyid(r.id.member_name);
  convertview.settag(viewholder);
 }else{
  viewholder =(memberholder)convertview.gettag();
 }
 friendentity entity= mlistdata.get(groupposition).getfriendchildlist().get(childposition);
 string icnpath = entity.geticnpath();
 if(icnpath == null||icnpath.length()<=0) {
  viewholder.memberimg.setimagedrawable(mcontext.getresources().getdrawable(r.mipmap.user_img));
 }
 viewholder.membername.settext(entity.getname());
 return convertview;
 }
 @override
 public boolean ischildselectable(int groupposition,
     int childposition) {
 return true;
 }
 
 @override
 public boolean hasstableids(){
 return true;
 }
 
 private class memberholder{
 viaimageview memberimg;
 textview membername;
 }
 private class groupholder{
 imageview icon;
 textview groupname;
 }
 
}

3. chatinfomanager.java

package com.farina.db;
 
import android.content.contentvalues;
import android.content.context;
import android.database.cursor;
import android.database.sqlite.sqlitedatabase;
 
import com.farina.data.friendentity;
import com.farina.data.friendlistdata;
import com.farina.data.groupentity;
import com.farina.data.messageentity;
import com.farina.data.userentity;
 
import java.util.arraylist;
import java.util.list;
 
/**
 * created by farinazhang on 2016/7/14.
 */
public class chatinfomanager {
 private context mcontext;
 private chatdbhelper mdbhelper;
 
 //table user string
 private final string user_table_name="users";
 private final string user_id="id";
 private final string user_count_number="countnumber";
 private final string user_nikename="nikename";
 private final string user_icon_path="iconpath";
 private final string user_phone_number="phonenumber";
 private final string user_mail_addr="mailaddr";
 private final string user_qq_number="qqnumber";
 private final string user_weixin_number="weixinnumber";
 
 //table friends string
 private final string friend_table_name="friends";
 private final string friend_id="id";
 private final string friend_host_id="hostid";
 private final string friend_group_id="groupid";
 private final string friend_name="friendname";
 private final string friend_icon_path="iconpath";
 private final string friend_belive="belive";
 
 //table groups string
 private final string group_table_name="groups";
 private final string group_id="id";
 private final string group_host_id="hostid";
 private final string group_name="groupname";
 
 //table messages string
 private final string message_table_name="messages";
 private final string message_id="id";
 private final string message_message="message";
 private final string message_from_id="fromid";
 private final string message_to_id="toid";
 private final string message_readed="readed";
 private final string message_type="type";
 private final string message_time="time";
 
 public chatinfomanager(context context){
 mcontext = context;
 mdbhelper = chatdbhelper.getinstance(mcontext);
 
 }
 public void adduser(userentity user){
 
 sqlitedatabase db = null;
 try {
  db = mdbhelper.getwritabledatabase();
  contentvalues values = new contentvalues();
  values.put(user_id,user.getid());
  values.put(user_count_number,user.getcountnumber());
  values.put(user_nikename,user.getnikename());
  values.put(user_icon_path,user.geticonpath());
  values.put(user_phone_number,user.getphonenumber());
  values.put(user_mail_addr,user.getmailnumber());
  values.put(user_qq_number,user.getqqnumber());
  values.put(user_weixin_number,user.getweixinnumber());
  db.insert(user_table_name, null, values);
 
 } catch (exception e) {
  e.printstacktrace();
  // todo: handle exception
 } finally {
  db.close();
 }
 }
 
 public userentity getuserdata(int index){
 userentity user= new userentity();
 sqlitedatabase db =null;
 cursor cursor = null;
 
 try {
  db = mdbhelper.getreadabledatabase();
  cursor = db.query(user_table_name, null, user_id + "=" + index, null, null, null, null);
  if (cursor != null) {
  user.setid(index);
  user.setcountnumber(cursor.getstring(cursor.getcolumnindex(user_count_number)));
  user.setnikename(cursor.getstring(cursor.getcolumnindex(user_nikename)));
  user.seticonpath(cursor.getstring(cursor.getcolumnindex(user_icon_path)));
  user.setphonenumber(cursor.getstring(cursor.getcolumnindex(user_phone_number)));
  user.setmailnumber(cursor.getstring(cursor.getcolumnindex(user_mail_addr)));
  user.setqqnumber(cursor.getstring(cursor.getcolumnindex(user_qq_number)));
  user.setweixinnumber(cursor.getstring(cursor.getcolumnindex(user_weixin_number)));
  } else {
  return null;
  }
 }catch (exception e){
  e.printstacktrace();
 }finally{
  db.close();
 }
 return user;
 }
 public list<userentity> getuserlist(){
 list<userentity> list =new arraylist<userentity>();
 sqlitedatabase db =null;
 cursor cursor=null;
 
 try{
  db=mdbhelper.getreadabledatabase();
  cursor=db.query(user_table_name,new string[]{user_id,user_count_number,user_nikename,user_icon_path},null,null,null,null,null);
  if(cursor!=null){
  while (cursor.movetonext()) {
   userentity user= new userentity();
 
   user.setid(cursor.getint(cursor.getcolumnindex(user_id)));
   user.setcountnumber(cursor.getstring(cursor.getcolumnindex(user_count_number)));
   user.setnikename(cursor.getstring(cursor.getcolumnindex(user_nikename)));
   user.seticonpath(cursor.getstring(cursor.getcolumnindex(user_icon_path)));
   list.add(user);
  }
  }
 }catch(exception e){
  e.printstacktrace();
 }finally{
  db.close();
 }
 return list;
 
 }
 
 public void addfriend(friendentity friend){
 sqlitedatabase db=null;
 
 try{
  db=mdbhelper.getwritabledatabase();
  if(db==null)return ;
 
  contentvalues values = new contentvalues();
  values.put(friend_id,friend.getid());
  values.put(friend_host_id,friend.gethostid());
  values.put(friend_group_id,friend.getgroupid());
  values.put(friend_name,friend.getname());
  values.put(friend_icon_path,friend.geticnpath());
  values.put(friend_belive,friend.getbelive());
 
  db.insert(friend_table_name,null,values);
 }catch(exception e){
  e.printstacktrace();
 }finally {
  db.close();
 }
 }
 
 public list<friendlistdata> getfriendlist(){
 sqlitedatabase db=null;
 list<friendlistdata> friendlist=new arraylist<friendlistdata>();
 list<groupentity> grouplist= getgrouplist();
 
 try{
  db = mdbhelper.getwritabledatabase();
  if (db == null) return null;
  for(int i=0;i<grouplist.size();i++) {
  friendlistdata friendgroup= new friendlistdata();
  string groupname = grouplist.get(i).getname();
  friendgroup.setgroupname(groupname);
 
  list<friendentity> groupchild=new arraylist<friendentity>();
 
  cursor cursor = db.query(friend_table_name, null, group_name+"="+groupname, null, null, friend_id + "asc", null);
  while (cursor.movetonext()) {
   friendentity entity = new friendentity();
   entity.setid(cursor.getint(cursor.getcolumnindex(friend_id)));
   entity.setgroupid(cursor.getint(cursor.getcolumnindex(friend_group_id)));
   entity.sethostid(cursor.getint(cursor.getcolumnindex(friend_host_id)));
   entity.setname(cursor.getstring(cursor.getcolumnindex(friend_name)));
   entity.seticnpath(cursor.getstring(cursor.getcolumnindex(friend_icon_path)));
   string belive = cursor.getstring(cursor.getcolumnindex(friend_belive));
   entity.setbelive(belive.equals("1"));
   groupchild.add(entity);
  }
  friendgroup.setfriendchildlist(groupchild);
  friendlist.add(friendgroup);
  }
 
 }catch(exception e){
  e.printstacktrace();
 }finally {
  db.close();
 }
 return friendlist;
 }
 
 public list<groupentity> getgrouplist(){
 list<groupentity> grouplist = null;
 sqlitedatabase db=null;
 
 try{
  db= mdbhelper.getreadabledatabase();
  cursor cursor =db.query(group_table_name,null,null,null,null,null,null);
  while(cursor.movetonext()){
  groupentity entity =new groupentity();
  entity.setid(cursor.getint(cursor.getcolumnindex(group_id)));
  entity.sethostid(cursor.getint(cursor.getcolumnindex(group_host_id)));
  entity.setgroupname(cursor.getstring(cursor.getcolumnindex(group_name)));
 
  grouplist.add(entity);
  }
 }catch(exception e){
  e.printstacktrace();
 }finally{
  db.close();
 }
 return grouplist;
 }
 
 public void addgroupmember(groupentity group){
 sqlitedatabase db=null;
 
 try{
  db=mdbhelper.getwritabledatabase();
  contentvalues values=new contentvalues();
  values.put(group_id,group.getid());
  values.put(group_host_id,group.gethostid());
  values.put(group_name,group.getname());
  db.insert(group_table_name,null,values);
 }catch(exception e){
  e.printstacktrace();
 }finally {
  db.close();
 }
 }
 
 public list<messageentity> getmessagelist(string loadid){
 list<messageentity> list = new arraylist<messageentity>();
 sqlitedatabase db=null;
 cursor cursor=null;
 try{
  db=mdbhelper.getreadabledatabase();
 
  cursor=db.query(message_table_name,null,
   message_from_id+"=?,"+message_to_id+"=?",
   new string[]{loadid},
   null,
   loadid,message_time+"des",null);
  while(cursor.movetonext()){
  messageentity entity =new messageentity();
  entity.setid(cursor.getint(cursor.getcolumnindex(message_id)));
  entity.setfromid(cursor.getint(cursor.getcolumnindex(message_from_id)));
  entity.settoid(cursor.getint(cursor.getcolumnindex(message_to_id)));
  entity.setmessagestr(cursor.getstring(cursor.getcolumnindex(message_message)));
  entity.settype(cursor.getstring(cursor.getcolumnindex(message_type)));
  entity.settime(cursor.getstring(cursor.getcolumnindex(message_time)));
 
  list.add(entity);
  }
 
 }catch (exception e){
  e.printstacktrace();
 }finally{
  db.close();
 }
 
 return list;
 }
 
 public void setmessageitem(messageentity message){
 sqlitedatabase db=null;
 
 try{
  db=mdbhelper.getwritabledatabase();
  if(db==null)return;
 
  contentvalues values = new contentvalues();
  values.put(message_id,message.getid());
  values.put(message_from_id,message.getfromid());
  values.put(message_to_id,message.gettoid());
  values.put(message_message,message.getmessagestr());
  values.put(message_type,message.gettype());
  values.put(message_time,message.gettime());
  db.insert(message_table_name,null,values);
 }catch(exception e){
  e.printstacktrace();
 }finally {
  db.close();
 }
 }
 
}

源码下载地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网