入口MainActivity:`
package com.example.translateapp;
import Java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.example.translateapp.Dao.DBManager;
import com.example.translateapp.Dao.db_insert_date;
import com.example.translateapp.fragment.Fragement0;
import com.example.translateapp.fragment.Fragment_Text;
public class MainActivity extends Activity {
private Spinner spinner;
private db_insert_date date;
private AutoCompleteTextView dict;
private DBManager manager;
private FragmentManager fragmentManager;
private FragmentTransaction transaction;
private Fragement0 fragement0;
private Fragment_Text fragment;
private List list;
private Map
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#DAECDC"
android:entries="@array/translate"
android:gravity="center_horizontal" >
</Spinner>
<AutoCompleteTextView
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/bolider"
android:gravity="clip_horizontal"
android:hint="请输入搜索内容"
android:textSize="20dp"
android:completionThreshold="1"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/bolider1"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
></FrameLayout>
</LinearLayout>
</LinearLayout>
Fragment0浏览界面:
代码: `package com.example.translateapp.fragment;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Fragment;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import com.example.translateapp.InfoActivity;
import com.example.translateapp.R;
import com.example.translateapp.sorryActivity;
import com.example.translateapp.Dao.DBManager;
public class Fragement0 extends Fragment {
private EditText dict;
private DBManager manager;
private ListView lv;
private String world;
private String chinese;
List
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="浏览记录"
android:textSize="20dp"
android:layout_marginTop="10dp"
android:id="@+id/text">
</TextView>
<ListView
android:id="@+id/listView0"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bolider"
/>
</LinearLayout>
先介绍跳转的sorryActivity
package com.example.translateapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class sorryActivity extends Activity {
//在这里把英文显示出来
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sorry);
tv=(TextView) findViewById(R.id.world);
Intent intent=getIntent();
String english=intent.getStringExtra("lish");
tv.setText(english);
}
}
```只是将英文显示出来即可,用getIntent的方法来获取传过来的值
相对应的xml
<div class="se-preview-section-delimiter"></div>
这里写代码片
InforActivitY 详情界面
package com.example.translateapp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.util.ArrayMap;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import com.example.translateapp.Dao.DBManager;
public class InfoActivity extends Activity {
private TextView title;
private TextView ttype, tchinese;
private TextView tshortwords, tshtranslate;
private TextView texample, texamplate;
private ImageView image;
private ImageView image1;
private String english,english1;
private DBManager manager;
private static String type1, chinese1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
title = (TextView) findViewById(R.id.world);
ttype = (TextView) findViewById(R.id.type);
tchinese = (TextView) findViewById(R.id.chinese);
tshortwords = (TextView) findViewById(R.id.shortworld);
tshtranslate = (TextView) findViewById(R.id.shorttra);
texample = (TextView) findViewById(R.id.example);
texamplate = (TextView) findViewById(R.id.exampletra);
image = (ImageView) findViewById(R.id.image);
image1 = (ImageView) findViewById(R.id.image1);
manager = new DBManager(this);
Intent intent = getIntent();
english = intent.getStringExtra(“lish”);
System.out.println(“—-english”+english);
//这里能获取汉字
title.setText(english);
// 控件传到异步中进行操控
Asy asy = new Asy(manager, english, ttype, tchinese, tshortwords,
tshtranslate, texample, texamplate);
asy.execute();
// 点按钮将词存到生词本数据库表中
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//如果添加过一次则不能重复插入
String col[]={"english"};
Cursor cur=manager.query(false, "remeber", col, null, null, null, null, null, null);
while(cur.moveToNext()){
english1=cur.getString(cur.getColumnIndex("english"));
}
if(english.equals(english1)){
Toast.makeText(InfoActivity.this,"已添加生词本,不能重复添加", Toast.LENGTH_SHORT).show();
}else{
ContentValues values = new ContentValues();
String a = ttype.getText().toString();
String b = tchinese.getText().toString();
values.put("type", a);
values.put("chinese", b);
values.put("english", english);
manager.insert("remeber", null, values);
image.setImageResource(R.id.image1);
image1.setVisibility(View.VISIBLE);
Toast.makeText(InfoActivity.this, "已添加到生词本请登录查看", 1).show();
}
}
});
}
}
/ 在异步任务中实现对数据库中的数据查询
// 第一个参数是引用数据的类型
// 第三个参数是返回结果的类型
class Asy extends AsyncTask
package com.example.translateapp.fragment;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.app.Fragment;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.media.MediaDrm.OnKeyStatusChangeListener;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import com.example.translateapp.MainActivity;
import com.example.translateapp.R;
import com.example.translateapp.InfoActivity;
import com.example.translateapp.sorryActivity;
import com.example.translateapp.Dao.DBManager;
public class Fragment_Text extends Fragment {
private DBManager manager;
private ListView lv;
private EditText dict;
private Button bt;
private String name;
private String world;
public Fragment_Text() {
}
// 将查出来的数据放在listView中
public List<Map<String, Object>> getData() {
world = dict.getText().toString();
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
Cursor cursor = manager.query(false, "translate", null, null, null,
null, null, null, null);
// 遍历数据库
while (cursor.moveToNext()) {
String type = cursor.getString(cursor.getColumnIndex("type"));
String edit = cursor.getString(cursor.getColumnIndex("chinese"));
String edit1 = cursor.getString(cursor.getColumnIndex("english"));
System.out.println("--->>"+world);
System.out.println("--->>"+edit);
// 判断输入的是中文还是英文
if (world.equals(edit1)) {
map.put("type", type);
map.put("chinese", edit);
map.put("english", edit1);
name = edit1.toString().trim();
} else if (world.equals(edit)) {
map.put("type", type);
map.put("english", edit);
map.put("chinese", edit1);
}else{
map.put("english", world);
}
}
list.add(map);
getData1(list);
return list;
}
//将查询出来的东西放在浏览记录表中
public void getData1(List
知识1:在mainActivity传过来的值与数据库中的相匹配英文或者汉语匹配,将值取出来放在list中,否则的话光放一个english,获得的list,取出来存进历史记录的信息表中,将数据放在适配器中,点击按钮查询,同时跳转页面
xml: