Android英语单词本
2016-04-16 本文已影响267人
shakesbears
1.Vocabulary.class
public class Vocabulary {
public int ID;
public String name;
public String text;}
2.MyDatabaseHelper.class
public class MyDatabaseHelper extends SQLiteOpenHelper {
public MyDatabaseHelper(Context context, String name, int version) {
super(context, name, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) { }
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}}
3.vocabulary_entity.class
public class vocabulary_entity {
public TextView vocabulary_text;
}
4.MyAdapter.class
public class MyAdapter extends SimpleAdapter {
List<Map<String,Vocabulary>> mList;
LayoutInflater mInflater;
public MyAdapter(Context context, List<Map<String,Vocabulary>> list, int resource, String[] from, int[] to) {
super(context,list,resource,from,to);
mList = list;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView == null){
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.item,null);
viewHolder.voc_text = (TextView)convertView.findViewById(R.id.item_voc);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder)convertView.getTag();
}
Vocabulary bean = mList.get(position).get("name");
viewHolder.voc_text.setText(bean.name);
return convertView;
}
class ViewHolder{
public TextView voc_text;
}}
5.activity_vocabulary.xml
<LinearLayout
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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:weightSum="2" android:orientation="vertical"
tools:context="com.ljh.datatest.VocabularyActivity">
<TextView
android:gravity="center"
android:textSize="35sp"
android:text="词汇表"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ScrollView
android:layout_weight="2"
android:fillViewport="true"
android:layout_width="match_parent"
android:layout_height="0dp">
<ListView
android:id="@+id/lv_voc"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</ScrollView>
<ImageButton
android:layout_gravity="center"
android:background="@drawable/add"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
VocabularyActivity.class
6.activity_vocabulary_detail.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.ljh.datatest.VocabularyDetailActivity">
<TextView
android:text="1"
android:id="@+id/voc_name"
android:textSize="30sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:text="2"
android:id="@+id/voc_text"
android:textSize="20sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
VocabularyDetailActivity.class
public class VocabularyDetailActivity extends Activity {
TextView voc_name;
TextView voc_text;
MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vocabulary_detail);
voc_name = (TextView)findViewById(R.id.voc_name);
voc_text = (TextView)findViewById(R.id.voc_text);
dbHelper = new MyDatabaseHelper(this,"question.db",1);
Bundle data = getIntent().getExtras();
int position = data.getInt("position");
String p = String.valueOf(position + 1);
/*Cursor cursor = dbHelper.getReadableDatabase().rawQuery("select * from vocabulary",null);
List<Map<String,Vocabulary>> list = getDatas(cursor);
Vocabulary vocabulary = list.get(position).get("name");
voc_name.setText(vocabulary.name);
voc_text.setText(vocabulary.text);
String name = String.valueOf(cursor.getColumnIndex("text"));*/
String sql = "select * from vocabulary where ID='"+p+"'";
Cursor cursor = dbHelper.getReadableDatabase().rawQuery(sql, null);
cursor.moveToFirst();
String name = cursor.getString(cursor.getColumnIndex("name"));
String text = cursor.getString(cursor.getColumnIndex("text"));
voc_name.setText(name);
voc_text.setText(text);
//测试可行,拿出第一条也是唯一一条记录
/* List<Map<String,Vocabulary>> list = getDatas(cursor);
Vocabulary vocabulary = list.get(0).get("name");
voc_name.setText(vocabulary.name);*/ }
protected ArrayList<Map<String,Vocabulary>> getDatas(Cursor cursor){
ArrayList<Map<String,Vocabulary>> result = new ArrayList<>();
while (cursor.moveToNext()){
Map<String,Vocabulary> map = new HashMap<>();
Vocabulary vocabulary = new Vocabulary();
vocabulary.name = cursor.getString(1);
vocabulary.text = cursor.getString(2);
map.put("name",vocabulary);
result.add(map); }
return result;
}}
item.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/item_voc"
android:textSize="35sp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
7。MainActivity.class
public class MainActivity extends Activity {
MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new MyDatabaseHelper(this,"question.db",1);
Button btn_voc=(Button)findViewById(R.id.btn_voc);
btn_voc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,VocabularyActivity.class);
startActivity(intent);
}
});
String DB_PATH = "/data/data/com.ljh.datatest/databases/";
String DB_NAME = "question.db";
if((new File(DB_PATH+DB_NAME).exists())==false){
File dir=new File(DB_PATH);
if(!dir.exists()){
dir.mkdir();
}
try {
InputStream is = getBaseContext().getAssets().open(DB_NAME);
OutputStream os = new FileOutputStream(DB_PATH+DB_NAME);
byte[] buffer=new byte[2048];
int length;
while ((length = is.read(buffer))>0){
os.write(buffer,0,length);
}
os.flush();
os.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
} } }}