安卓mysql怎么传值_android传递参数

Android由众多Activity组成,每个Activity对应不同的功能和UI,但是每个Activity都是一个单独的类,所以需要传递参数。一般来讲,Android中传递参数是在不同的Activity中。大致上有5类方案:

1 静态 static

定义方法:

1 public class MainActivity extends TabActivity {

2 public static DatabaseHelper mHelper;

3 public static SQLiteDatabase db;

4 }

使用方法:

1 public class QQList extends Activity{

2 try{

3 db=MainActivity.db;

4

5 }catch(Exception e){

6 e.printStackTrace();

7 }

8 }

2 单例 Singleton

定义方法:

Java代码

1 public class SingleSocket {

2 /*

3 * GG单例模式的第四个版本,既解决了“懒汉式的”多线程问题,又解决了资源浪费的现象,看上去是一种不错的选择

4 */

5 //Socket成员

6 private Socket socket=null;

7 //对单例本身引用的名称

8 private static SingleSocket sSocket;

9 public Socket getSocket() {

10 return socket;

11 }

12 public void initSocket(String ip,int port ) {

13 try{

14 socket=new Socket(ip,port);

15 }catch(Exception e){

16 e.printStackTrace();

17 }

18 }

19 //构造函数私有化

20 private SingleSocket() {

21 }

22 //提供一个全局的静态方法

23 public static SingleSocket getSingle() {

24 if(sSocket == null) {

25 synchronized (SingleSocket.class) {

26 if(sSocket == null) {

27 sSocket = new SingleSocket();

28 }

29 }

30 }

31 return sSocket;

32 }

33 }

使用方法:

Java代码

1 public class MainActivity extends TabActivity {

2 private SingleSocket olsocket=SingleSocket.getSingle();

3 private Socket socket=null;

4 }

3 通过Intent传递

Intent是Android的类,含有传递参数的方法,类似于jsp中的get,但可传的参数类型支持很少。

定义方法:

Java代码

1 public class ClientActivity extendsActivity {

2 Intent intent = newIntent();

3 Bundle bundle = newBundle();

4 bundle.putString("Usr", Usr);

5 bundle.putString("Psd", Psd);

6 intent.putExtras(bundle);

7 intent.setClass(ClientActivity.this, MainActivity.class);

8 }

使用方法:

Java代码

1 Bundle bundle =getIntent().getExtras();

2 Usr = bundle.getString("Usr");

3 Psd=bundle.getString("Psd");

Socket传递

这个无需多说,创建Socket和ServerSocket对,进行通信。

5 SQLite数据库

创建数据库方法:

Java代码

1 packagecom.android.client;

2 importandroid.content.Context;

3 importandroid.database.sqlite.SQLiteDatabase;

4 importandroid.database.sqlite.SQLiteOpenHelper;

5 importandroid.database.sqlite.SQLiteDatabase.CursorFactory;

6

7 public class DatabaseHelper extendsSQLiteOpenHelper{

8 /*public static final String TB_XINLANGWEIBO="XINLANGWEIBO";

9 public static final String TB_QQGROUP="QQGROUP";

10 public static final String TB_WEB="WEB";

11 public static final String TB_QQLIST="QQLIST";

12 public static final String TB_CLIENTPUB="CLIENTPUB";

13

14 public static final String XINLANGWEIBO_ID="_id";

15 public static final String QQGROUP_ID="_id";

16 public static final String WEB_ID="_id";

17 public static final String CLIENTPUB_ID="_id";

18

19 public static final String QQLIST_ID="_id";

20 public static final String QQLIST_NICK="NICK";*/

21 public static final String TB_BUSINESS="BUSINESS";

22

23 public static final String ID="_id";

24 public static final String class="CLASS";

25 public static final String CONTENT="CONTENT";

26 public static final String FROM="FRM";

27 public static final String WHO="WHO";

28

29

30 public DatabaseHelper(Context context,String name,CursorFactory factory,intversion){

31 super(context,name,factory,version);

32 }

33

34 @Override

35 public voidonCreate(SQLiteDatabase arg0){

36 //arg0.execSQL("CREATE TABLE IF NOT EXISTS "+TB_XINLANGWEIBO+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,CONTENT TEXT);");

37 //arg0.execSQL("CREATE TABLE IF NOT EXISTS "+TB_QQGROUP+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,CONTENT TEXT);");

38 //arg0.execSQL("CREATE TABLE IF NOT EXISTS "+TB_WEB+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,CONTENT TEXT);");

39

40 //arg0.execSQL("CREATE TABLE IF NOT EXISTS "+TB_QQLIST+"(_id TEXT PRIMARY KEY,NICK TEXT);");

41 //arg0.execSQL("CREATE TABLE IF NOT EXISTS "+TB_CLIENTPUB+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,CONTENT TEXT);");

42 arg0.execSQL("CREATE TABLE IF NOT EXISTS "+TB_BUSINESS+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,CLASS TEXT,CONTENT TEXT,FRM TEXT,WHO TEXT);");

43

44

45 }

46 @Override

47 public void onUpgrade(SQLiteDatabase db,int oldVertion,intnewVersion){

48 //db.execSQL("DROP TABLE IF EXISTS"+TB_XINLANGWEIBO);

49 //db.execSQL("DROP TABLE IF EXISTS"+TB_QQGROUP);

50 //db.execSQL("DROP TABLE IF EXISTS"+TB_WEB);

51 //db.execSQL("DROP TABLE IF EXISTS"+TB_QQLIST);

52 onCreate(db);

53

54 }

55 }

调用之:

Java代码

1 try{

2

3 //创建数据库(如果数据库文件已经存在就不会再创建)

4 mHelper = new DatabaseHelper(this,DB_NAME,null,VERSION);

5 db=mHelper.getWritableDatabase();

6 }catch(Exception ee){

7 AlertDialog dlg1=new AlertDialog.Builder(this)

8 .setMessage(ee.getMessage())

9 .setPositiveButton("Ok", null)

10 .show();

11 }

使用方法,其实就是查询数据库:

Java代码

1 try{

2 cursor=db.query(TB_NAME, new String []{"_id","NICK"},null, null, null, null,null);

3 }catch(Exception ee){

4 ee.printStackTrace();

5 AlertDialog dlg=new AlertDialog.Builder(QQList.this)

6 .setMessage("没找到表")

7 .setPositiveButton("Ok", null)

8 .show();

9 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值