使用xutil建新建项目,并保存到listView中进行显示
2016-12-16 13:55
330 查看
丢人丢大了,渣渣发现不了问题,所以问出渣渣的问题,被大神给zaopi了,因此总结出这重要的功能,为后期,开发app做原材料!!!!!!1
关于程序中要注意的问题:
1,新建类时,要大写!!!!!!!!!!!!!!!(规范)
2,如果要使用context一定要付初始值!!!!!!!!!!!!!!!!!!!!!!!!!Context context=this 或者若避免使用context,就使用XXXActivity.this!!!!!!!!!!!! 保险不出差错
3,在onresume()中写需要刷新的操作,不然显示就容易滞后!!!!!!!!!!!!!!11
写该功能的思路是:
1,导包!!!!!!!!!!在建libs文件夹装xutil.jar
2,权限!!!!!!!!
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3,注意xutil的用法:
(1,)数据库的初始化放在Application中,而且,必须提供获得数据库的方法--------------------------注意!!!!!!!!!!要在manifest.xml中写上application的名字!!!!!
(2)关于具体的注解模块详细见程序内部
4,建立一个activity,写一些内容,然后保存在数据库中,-----------------------(1,额外建表,2,简单的xml)
package com.example.xutility;
import org.xutils.DbManager;
import org.xutils.x;
import org.xutils.ex.DbException;
import org.xutils.DbManager.DaoConfig;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.view.annotation.ViewInject;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
@ContentView (R.layout.activity_main)----------------------------------------------xutil使用方法-----绑定xml
public class MainActivity extends Activity {
//写项目名---------------------------------------------------------
4000
------xutil的使用方法
@ViewInject(R.id.ed_project)
private EditText ed_project;
//写地址
@ViewInject(R.id.ed_address)
private EditText ed_address;
//创地址
@ViewInject(R.id.btn_create)
private Button btn_create;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
x.view().inject(this);-----------------------------------------------------------xutil用法------声明自己的初始化控件
}
@Event(value={R.id.btn_create})
private void Onclick(View v)
{
DiaoyongTable table=new DiaoyongTable();----------------------------
table.insert();---------------------------------------------------------------
finish();
}
class DiaoyongTable {
DaoConfig daoConfig=Xutil.getDaoConfig();
DbManager db = x.getDb(daoConfig);
//不能有下面一行,不然就会报错------------------------不能在自己类中初始化自己的类
//DiaoyongTable table=new DiaoyongTable();
void insert() { ----------------------------------------------------方法:将写的数据保存在数据库中
UseDb person=new UseDb();
person.setAddress(ed_address.getText().toString());------------------------将EditText中的内容保存
person.setProject_name(ed_project.getText().toString());-----------------------将EditText中的内容保存
///////////////////////////////////////////////////////////////////////////////////////////////
String liu= person.toString();
System.out.println(liu);
try {
db.save(person);
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//db.saveOrUpdate(person);
//db.saveBindingId(person);
}
///////////////////////////////////////////////////////////////////////////////////////////////////此部分可以不要,是在log中打印
}
}
5,建一个数据库映射表(实体表)-----------------------------其中包含两个数据源:1,项目名2,地址
package com.example.xutility;
import org.xutils.db.annotation.Column;
import org.xutils.db.annotation.Table;
@Table(name="person")-------------------------------------------------------xutil使用方法-------表名
public class UseDb {
@Column(name="id",isId=true,autoGen=true)------------------------xutil使用方法----表头第一列
private int id;
@Column(name="project_name")-----------------------xutil使用方法----表头第2列
private String project_name;
@Column(name="address")----------------------------------------xutil使用方法----表头第3列
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getProject_name() {
return project_name;
}
public void setProject_name(String project_name) {
this.project_name = project_name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String toString()
{
return "打印一切:"+"id"+id+"工程名字: "+project_name+" address: "+address;
}
}
6,数据库的初始化,必须放在Application中,且必须提供获得数据库的方法!使得程序在任何地方都可以直接获得数据库!!!
package com.example.xutility;
import java.io.File;
import org.xutils.DbManager;
import org.xutils.DbManager.DaoConfig;
import org.xutils.DbManager.DbUpgradeListener;
import org.xutils.x;
import android.app.Application;
import android.os.Environment;
/**通过XUti.getDaoConfig()方法,我们能够获取到一个DaoConfig对象。通过getDaoConfig()方法,
* 我们可以知道这个方法主要可以做以下事情:
1.setDbName 设置数据库的名称
2.setDbDir 设置数据库存放的路径
3.setDbVersion 设置数据库的版本
4.setAllowTransaction(true) 设置允许开启事务
5.setDbUpgradeListener 设置一个版本升级的监听方法
那么具体我们什么时候创建的表呢?如果我们单纯的调用XUti.getDaoConfig()方法是不能够创建PersonTable这个实体
对应的person这张表的,那么如何创建表呢?
只需要一下几步:
1.DaoConfig daoConfig=XUtil.getDaoConfig();
2.DbManager db = x.getDb(daoConfig);
*
*/
/*
* 在程序中创建一个数据库和如何生成表--------数据库的初始化
* */
public class Xutil extends Application{
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
x.Ext.init(this);----------------------------------------xutil的用法不可少
x.Ext.setDebug(BuildConfig.DEBUG);------------xutil的用法不可少
}
static DbManager.DaoConfig daoConfig;
public static DaoConfig getDaoConfig(){ -------------------获得数据库的方法
//
File file=new File(Environment.getExternalStorageDirectory().getPath()); -----数据库存放的位置
if(daoConfig==null){
daoConfig=new DbManager.DaoConfig()
.setDbName("shiyan.db")
.setDbDir(file)
.setDbVersion(1)
.setAllowTransaction(true) ;
}
return daoConfig;
}
}
7,为了使数据可以在listView中显示,所以,要写一个初始listView的类!!!!!!!!
package listview;
import java.util.List;
import org.xutils.x;
import com.example.otherActivity.AcceptActivity;
import com.example.xutility.R;
import com.example.xutility.UseDb;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class listAdapter extends BaseAdapter {
private List<UseDb> list; -------------存放数据源
Context context;
ViewHolder holder;----------------避免卡顿
//必须要加上public,不然, 默认为私有,在其他包中就不能调用
public listAdapter(Context context, List<UseDb> list)------------------------构造方法!!不可少
{
this.context=context;
this.list=list;
}
@Override---------------------------------------------重写BaseAdapter 方法--------为数据源存放做准备----不可少
public int getCount() {
// TODO Auto-generated method stub
// 一定要加一个判断语句
if (null != list)
return list.size();
return 0;
}
@Override--------------重写BaseAdapter 方法--------为数据源存放做准备----不可少
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override--------------重写BaseAdapter 方法--------为数据源存放做准备----不可少
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override--------------重写BaseAdapter 方法--------为数据源存放做准备----不可少-----获得控件的位置
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
holder=new ViewHolder();
if( convertView==null)
{//得到一个inflater对象,为获得布局做准备
System.out.println("dddeeeeeeeeeeeeee");
//获得布局
convertView = LayoutInflater.from(context).inflate(--------------如果马虎,这里易出错!!!显示空指针,一定要检查关于context,控件,还有初始化等处是否出现错误
R.layout.listview,null);
System.out.println("222222");
//取得控件
holder.tv_project=(TextView) convertView.findViewById(R.id.tv_project);
holder.tv_address=(TextView) convertView.findViewById(R.id.tv_address);
//做标记,记录第一搜到控件
convertView.setTag(holder);
}else
{
holder=(ViewHolder) convertView.getTag();
}
//从数据库中取得数据
UseDb pdb = list.get(position);
//将获得的数据在控件中显示
holder.tv_project.setText(pdb.getProject_name());
holder.tv_address.setText(pdb.getAddress());
return convertView;
}
static class ViewHolder{
TextView tv_project;
TextView tv_address;
}
}
8,在Activity中显示listView中获得的数据
package com.example.otherActivity;
import java.util.ArrayList;
import java.util.List;
import org.xutils.DbManager;
import org.xutils.x;
import org.xutils.ex.DbException;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.view.annotation.ViewInject;
import com.example.xutility.DiaoyongTable;
import com.example.xutility.MainActivity;
import com.example.xutility.R;
import com.example.xutility.UseDb;
import com.example.xutility.Xutil;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import listview.listAdapter;
@ContentView(R.layout.acceptactivity)
public class AcceptActivity extends Activity {
@ViewInject(R.id.btn_jianyige)
Button btn_jianyige;
@ViewInject(R.id.listView1)
ListView lv;
private List<UseDb> list;
Context context=this;//////////!!!!!!!!!!!!!!!!!!!!!一定要赋值
DbManager db = x.getDb(Xutil.getDaoConfig());
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
x.view().inject(AcceptActivity.this);
getProjectList();
}
/**
* 获取项目列表数据
*/
private void getProjectList() {
try {
list = db.selector(UseDb.class).findAll();-------------关键句子-----获得数据
System.out.println("dsss");
updateView();-------------------------------更新listView中的数据
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//更新listView保证每一次接收到的值都可以在listView显示----------建数组适配器和加载适配器
private void updateView() {
System.out.println("1111111111111111111111111111111111111111");
listAdapter adapter=new listAdapter(this,list);/////// 此处的this可以是AcceptActivity.this
/////也可以是context,但是context必须付初始值
System.out.println("21111");
lv.setAdapter(adapter);-----------------------------加载适配器
System.out.println("333eeeeeeee3");
}
@Event(value={R.id.btn_jianyige})
private void OnClick(View v)
{switch (v.getId()) {
case R.id.btn_jianyige:
//getProjectList();
Intent intent=new Intent(AcceptActivity.this,MainActivity.class);
startActivity(intent);
break;
default:
break;
}
}
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
下面不可少!!!不然程序显示就会滞后
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
getProjectList();
}
}
关于xml中控件
1,第一个anctivity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.xutility.MainActivity" >
<EditText
android:id="@+id/ed_project"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/tv_project"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="48dp"
android:text="项目名" />
<TextView
android:id="@+id/tv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="17dp"
android:text="地址" />
<Button
android:id="@+id/btn_create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="创建" />
<EditText
android:id="@+id/ed_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/ed_project"
android:layout_below="@+id/tv_project"
android:layout_marginTop="17dp"
android:ems="10" />
</RelativeLayout>
1,第2个anctivity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="在此处显示" />
<Button
android:id="@+id/btn_jianyige"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="建一个" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
3,第三个xml关于listView的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_project"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.16"
android:text="" />
<TextView
android:id="@+id/tv_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.16"
android:text="" />
</LinearLayout>
关于程序中要注意的问题:
1,新建类时,要大写!!!!!!!!!!!!!!!(规范)
2,如果要使用context一定要付初始值!!!!!!!!!!!!!!!!!!!!!!!!!Context context=this 或者若避免使用context,就使用XXXActivity.this!!!!!!!!!!!! 保险不出差错
3,在onresume()中写需要刷新的操作,不然显示就容易滞后!!!!!!!!!!!!!!11
写该功能的思路是:
1,导包!!!!!!!!!!在建libs文件夹装xutil.jar
2,权限!!!!!!!!
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3,注意xutil的用法:
(1,)数据库的初始化放在Application中,而且,必须提供获得数据库的方法--------------------------注意!!!!!!!!!!要在manifest.xml中写上application的名字!!!!!
(2)关于具体的注解模块详细见程序内部
4,建立一个activity,写一些内容,然后保存在数据库中,-----------------------(1,额外建表,2,简单的xml)
package com.example.xutility;
import org.xutils.DbManager;
import org.xutils.x;
import org.xutils.ex.DbException;
import org.xutils.DbManager.DaoConfig;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.view.annotation.ViewInject;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
@ContentView (R.layout.activity_main)----------------------------------------------xutil使用方法-----绑定xml
public class MainActivity extends Activity {
//写项目名---------------------------------------------------------
4000
------xutil的使用方法
@ViewInject(R.id.ed_project)
private EditText ed_project;
//写地址
@ViewInject(R.id.ed_address)
private EditText ed_address;
//创地址
@ViewInject(R.id.btn_create)
private Button btn_create;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
x.view().inject(this);-----------------------------------------------------------xutil用法------声明自己的初始化控件
}
@Event(value={R.id.btn_create})
private void Onclick(View v)
{
DiaoyongTable table=new DiaoyongTable();----------------------------
table.insert();---------------------------------------------------------------
finish();
}
class DiaoyongTable {
DaoConfig daoConfig=Xutil.getDaoConfig();
DbManager db = x.getDb(daoConfig);
//不能有下面一行,不然就会报错------------------------不能在自己类中初始化自己的类
//DiaoyongTable table=new DiaoyongTable();
void insert() { ----------------------------------------------------方法:将写的数据保存在数据库中
UseDb person=new UseDb();
person.setAddress(ed_address.getText().toString());------------------------将EditText中的内容保存
person.setProject_name(ed_project.getText().toString());-----------------------将EditText中的内容保存
///////////////////////////////////////////////////////////////////////////////////////////////
String liu= person.toString();
System.out.println(liu);
try {
db.save(person);
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//db.saveOrUpdate(person);
//db.saveBindingId(person);
}
///////////////////////////////////////////////////////////////////////////////////////////////////此部分可以不要,是在log中打印
}
}
5,建一个数据库映射表(实体表)-----------------------------其中包含两个数据源:1,项目名2,地址
package com.example.xutility;
import org.xutils.db.annotation.Column;
import org.xutils.db.annotation.Table;
@Table(name="person")-------------------------------------------------------xutil使用方法-------表名
public class UseDb {
@Column(name="id",isId=true,autoGen=true)------------------------xutil使用方法----表头第一列
private int id;
@Column(name="project_name")-----------------------xutil使用方法----表头第2列
private String project_name;
@Column(name="address")----------------------------------------xutil使用方法----表头第3列
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getProject_name() {
return project_name;
}
public void setProject_name(String project_name) {
this.project_name = project_name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String toString()
{
return "打印一切:"+"id"+id+"工程名字: "+project_name+" address: "+address;
}
}
6,数据库的初始化,必须放在Application中,且必须提供获得数据库的方法!使得程序在任何地方都可以直接获得数据库!!!
package com.example.xutility;
import java.io.File;
import org.xutils.DbManager;
import org.xutils.DbManager.DaoConfig;
import org.xutils.DbManager.DbUpgradeListener;
import org.xutils.x;
import android.app.Application;
import android.os.Environment;
/**通过XUti.getDaoConfig()方法,我们能够获取到一个DaoConfig对象。通过getDaoConfig()方法,
* 我们可以知道这个方法主要可以做以下事情:
1.setDbName 设置数据库的名称
2.setDbDir 设置数据库存放的路径
3.setDbVersion 设置数据库的版本
4.setAllowTransaction(true) 设置允许开启事务
5.setDbUpgradeListener 设置一个版本升级的监听方法
那么具体我们什么时候创建的表呢?如果我们单纯的调用XUti.getDaoConfig()方法是不能够创建PersonTable这个实体
对应的person这张表的,那么如何创建表呢?
只需要一下几步:
1.DaoConfig daoConfig=XUtil.getDaoConfig();
2.DbManager db = x.getDb(daoConfig);
*
*/
/*
* 在程序中创建一个数据库和如何生成表--------数据库的初始化
* */
public class Xutil extends Application{
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
x.Ext.init(this);----------------------------------------xutil的用法不可少
x.Ext.setDebug(BuildConfig.DEBUG);------------xutil的用法不可少
}
static DbManager.DaoConfig daoConfig;
public static DaoConfig getDaoConfig(){ -------------------获得数据库的方法
//
File file=new File(Environment.getExternalStorageDirectory().getPath()); -----数据库存放的位置
if(daoConfig==null){
daoConfig=new DbManager.DaoConfig()
.setDbName("shiyan.db")
.setDbDir(file)
.setDbVersion(1)
.setAllowTransaction(true) ;
}
return daoConfig;
}
}
7,为了使数据可以在listView中显示,所以,要写一个初始listView的类!!!!!!!!
package listview;
import java.util.List;
import org.xutils.x;
import com.example.otherActivity.AcceptActivity;
import com.example.xutility.R;
import com.example.xutility.UseDb;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class listAdapter extends BaseAdapter {
private List<UseDb> list; -------------存放数据源
Context context;
ViewHolder holder;----------------避免卡顿
//必须要加上public,不然, 默认为私有,在其他包中就不能调用
public listAdapter(Context context, List<UseDb> list)------------------------构造方法!!不可少
{
this.context=context;
this.list=list;
}
@Override---------------------------------------------重写BaseAdapter 方法--------为数据源存放做准备----不可少
public int getCount() {
// TODO Auto-generated method stub
// 一定要加一个判断语句
if (null != list)
return list.size();
return 0;
}
@Override--------------重写BaseAdapter 方法--------为数据源存放做准备----不可少
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override--------------重写BaseAdapter 方法--------为数据源存放做准备----不可少
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override--------------重写BaseAdapter 方法--------为数据源存放做准备----不可少-----获得控件的位置
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
holder=new ViewHolder();
if( convertView==null)
{//得到一个inflater对象,为获得布局做准备
System.out.println("dddeeeeeeeeeeeeee");
//获得布局
convertView = LayoutInflater.from(context).inflate(--------------如果马虎,这里易出错!!!显示空指针,一定要检查关于context,控件,还有初始化等处是否出现错误
R.layout.listview,null);
System.out.println("222222");
//取得控件
holder.tv_project=(TextView) convertView.findViewById(R.id.tv_project);
holder.tv_address=(TextView) convertView.findViewById(R.id.tv_address);
//做标记,记录第一搜到控件
convertView.setTag(holder);
}else
{
holder=(ViewHolder) convertView.getTag();
}
//从数据库中取得数据
UseDb pdb = list.get(position);
//将获得的数据在控件中显示
holder.tv_project.setText(pdb.getProject_name());
holder.tv_address.setText(pdb.getAddress());
return convertView;
}
static class ViewHolder{
TextView tv_project;
TextView tv_address;
}
}
8,在Activity中显示listView中获得的数据
package com.example.otherActivity;
import java.util.ArrayList;
import java.util.List;
import org.xutils.DbManager;
import org.xutils.x;
import org.xutils.ex.DbException;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.view.annotation.ViewInject;
import com.example.xutility.DiaoyongTable;
import com.example.xutility.MainActivity;
import com.example.xutility.R;
import com.example.xutility.UseDb;
import com.example.xutility.Xutil;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import listview.listAdapter;
@ContentView(R.layout.acceptactivity)
public class AcceptActivity extends Activity {
@ViewInject(R.id.btn_jianyige)
Button btn_jianyige;
@ViewInject(R.id.listView1)
ListView lv;
private List<UseDb> list;
Context context=this;//////////!!!!!!!!!!!!!!!!!!!!!一定要赋值
DbManager db = x.getDb(Xutil.getDaoConfig());
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
x.view().inject(AcceptActivity.this);
getProjectList();
}
/**
* 获取项目列表数据
*/
private void getProjectList() {
try {
list = db.selector(UseDb.class).findAll();-------------关键句子-----获得数据
System.out.println("dsss");
updateView();-------------------------------更新listView中的数据
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//更新listView保证每一次接收到的值都可以在listView显示----------建数组适配器和加载适配器
private void updateView() {
System.out.println("1111111111111111111111111111111111111111");
listAdapter adapter=new listAdapter(this,list);/////// 此处的this可以是AcceptActivity.this
/////也可以是context,但是context必须付初始值
System.out.println("21111");
lv.setAdapter(adapter);-----------------------------加载适配器
System.out.println("333eeeeeeee3");
}
@Event(value={R.id.btn_jianyige})
private void OnClick(View v)
{switch (v.getId()) {
case R.id.btn_jianyige:
//getProjectList();
Intent intent=new Intent(AcceptActivity.this,MainActivity.class);
startActivity(intent);
break;
default:
break;
}
}
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
下面不可少!!!不然程序显示就会滞后
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
getProjectList();
}
}
关于xml中控件
1,第一个anctivity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.xutility.MainActivity" >
<EditText
android:id="@+id/ed_project"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/tv_project"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="48dp"
android:text="项目名" />
<TextView
android:id="@+id/tv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="17dp"
android:text="地址" />
<Button
android:id="@+id/btn_create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="创建" />
<EditText
android:id="@+id/ed_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/ed_project"
android:layout_below="@+id/tv_project"
android:layout_marginTop="17dp"
android:ems="10" />
</RelativeLayout>
1,第2个anctivity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="在此处显示" />
<Button
android:id="@+id/btn_jianyige"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="建一个" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
3,第三个xml关于listView的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_project"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.16"
android:text="" />
<TextView
android:id="@+id/tv_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.16"
android:text="" />
</LinearLayout>
相关文章推荐
- ViewPager fragment 保存状态,内部使用listview 并进行了操作,保存操作后的状态
- Spring boot项目 使用ip+port+contextPath进行访问的时候会直接显示出项目中的一些接口信息和相关数据
- 在昨天作业的基础上添加 :删除按钮,修改并保存按钮 和 添加按钮。完成这些按钮所对应的功能/新建页面DataXML,使用GridView显示book.xm中的图书信息
- Android采用ListView实现数据列表显示1-使用SimpleCursorAdapter进行数据绑定
- svn“作为新项目检出,并使用新建项目向导进行配置”和“做为工作空间中的项目检出”的区别?
- 使用ListView进行不同布局ItemView的显示
- 在ListView中动态添加EditText并对其中的数据进行保存和由于复用引起的Editext中的内容显示异常的解决方案
- 如何使用git新建多个SSH密钥进行项目托管
- Android访问网络:服务端返回XML或JSON格式数据,Android 进行解析并使用ListView显示
- Android采用ListView实现数据列表显示2-使用SimpleAdapter进行数据绑定
- 使用VIM开发软件项目 - (4) 保存项目相关配置
- 使用ActiveReports for .net 进行报表开发(八)--显示合计
- Atlas入门-将普通控件升级为Atlas控件/使用listView显示数据库数据[视频]
- 使用 OpenCmsVFS 插件在 Eclipse 下进行OpenCms项目进行开发……
- vs.net web项目使用visual source safe进行源代码管理
- ASP.NET项目怎样进行管理?(VSS的使用)
- ASP.NET项目怎样进行管理?(VSS的使用)
- 使用 xsl 对 xml 文档进行动态排序,分页显示的扩展
- 使用QT进行视频帧显示时如何防止闪烁现象出现呢?
- 使用流对象保存和显示图片