Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions AndroidLabs/app/src/main/AndroidManifest(2).xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.hzuapps.androidlabs.homeworks.net1414080903215">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Net1414080903215Activity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

</activity>
<activity android:name=".Net1414080903215_SelectCategory"></activity>
<activity android:name=".Net1414080903215_Study"></activity>
<activity android:name=".Net1414080903215_Search"></activity>
<activity android:name=".Net1414080903215_Collection"></activity>



</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
package edu.hzuapps.androidlabs.homeworks.net1414080903215;

import android.support.v7.app.AppCompatActivity;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;

public class Net1414080903215Activity extends AppCompatActivity {

public class Net1414080903215Activity extends TabActivity {
private TabHost tabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_net1414080903215);
tabHost=getTabHost();
addTab("study",R.string.title_study,Net1414080903215_SelectCategory.class);
addTab("search_net1414080903215",R.string.title_search,Net1414080903215_Search.class);
addTab("save",R.string.title_save,Net1414080903215_Collection.class);
}
private void addTab(String tag,int title_introduction,Class ActivityClass) {
tabHost.addTab(tabHost.newTabSpec(tag).setIndicator(getString(title_introduction)).setContent(new Intent(this,ActivityClass)));
}
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package edu.hzuapps.androidlabs.homeworks.net1414080903215;

import java.util.ArrayList;


import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import edu.hzuapps.androidlabs.homeworks.net1414080903215.adapter.Animal;


public class Net1414080903215_Collection extends ListActivity {
private Net1414080903215_DBHelper dbHelper;
private ArrayList<Animal> list=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitle("收藏夹");
this.setContentView(R.layout.collection_net1414080903215);
setAdapter();
}
private void setAdapter() {
dbHelper=new Net1414080903215_DBHelper(Net1414080903215_Collection.this, "saveidiom.db", null, 1);
list=dbHelper.QueryAllAttentionWord();
ArrayList<String> showlist=new ArrayList<String>();
for(int i=0;i<list.size();i++){
showlist.add((i+1)+"."+list.get(i).getName()+"\n"+list.get(i).getPronounce()+"\n"+list.get(i).getAntonym()+"\n"
+list.get(i).getHomoionym()+"\n"+list.get(i).getDerivation()+"\n"+list.get(i).getExamples()+"\n"+list.get(i).getExplain());
}
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.animal_item_net1414080903215, showlist));
}
@Override
protected void onListItemClick(ListView l, View v, final int position, long id) {
super.onListItemClick(l, v, position, id);
Dialog dialog = new AlertDialog.Builder(Net1414080903215_Collection.this)
.setTitle("操作")
.setItems(new String[]{"成语删除"}, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
Animal word = list.get(position);
Net1414080903215_DBHelper md = new Net1414080903215_DBHelper(Net1414080903215_Collection.this, "saveidiom.db", null, 1);
md.deleteAttentionWord(word.getId());
setAdapter();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.create();
dialog.show();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package edu.hzuapps.androidlabs.homeworks.net1414080903215;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;

import edu.hzuapps.androidlabs.homeworks.net1414080903215.adapter.Animal;

/**
* Created by acer on 2018/4/27.
*/

public class Net1414080903215_DBHelper extends SQLiteOpenHelper {//直接在Andriod中创建数据库和表
public static final String saveWordListTable = "saveWordListTable";
public static final String wordID = "wordID";
public static final String wordName = "wordName";
public static final String wordPronunciation = "wordPronunciation";
public static final String wordAntonym= "wordAntonym=";
public static final String wordHomoionym= "wordHomoionym";
public static final String wordDerivation= "wordDerivation";
public static final String wordExamples= "wordExamples";
public static final String wordExplain = "wordexplain";
public static final String CREATE_SAVE="create table saveWordListTable(" +
"wordID integer ," +
"wordName text," +
"wordPronunciation varchar,"+
"wordAntonym varchar,"+
"wordHomoionym varchar,"+
"wordDerivation varchar,"+
"wordExamples varchar,"+
"wordExplain varchar)";

public Net1414080903215_DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_SAVE);//创建数据库的同时创建表
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub

}
public void addAttentionWord(int wordId,String wordName,String wordPronunciation,String wordAntonym,String wordHomoionym,String wordDerivation,String wordExamples,String wordExplain) {
ContentValues values = new ContentValues();
values.put(Net1414080903215_DBHelper.wordID ,wordId);
values.put(Net1414080903215_DBHelper.wordName ,wordName);
values.put(Net1414080903215_DBHelper.wordPronunciation ,wordPronunciation);
values.put(Net1414080903215_DBHelper.wordAntonym ,wordAntonym);
values.put(Net1414080903215_DBHelper.wordHomoionym ,wordHomoionym);
values.put(Net1414080903215_DBHelper.wordDerivation ,wordDerivation);
values.put(Net1414080903215_DBHelper.wordExamples ,wordExamples);
values.put(Net1414080903215_DBHelper.wordExplain,wordExplain);
this.getWritableDatabase().insert( Net1414080903215_DBHelper.saveWordListTable, null, values);
}
public ArrayList<Animal> QueryAllAttentionWord(){
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<Animal> List= new ArrayList<Animal>();
Cursor cursor =db.rawQuery("select * from saveWordListTable",null);
if (cursor.moveToFirst()){

do{
Animal animal=new Animal();
animal.setId(cursor.getInt(cursor.getColumnIndex("_id")));
animal.setName(cursor.getString(cursor.getColumnIndex("name")));
animal.setPronounce(cursor.getString(cursor.getColumnIndex("pronounce")));
animal.setAntonym(cursor.getString(cursor.getColumnIndex("antonym")));
animal.setHomoionym(cursor.getString(cursor.getColumnIndex("homoionym")));
animal.setDerivation(cursor.getString(cursor.getColumnIndex("derivation")));
animal.setExamples(cursor.getString(cursor.getColumnIndex("examples")));
animal.setExplain(cursor.getString(cursor.getColumnIndex("explain")));
List.add(animal);
}
while(cursor.moveToNext());
}
cursor.close();
db.close();
return List;
}
public void deleteAttentionWord(int wordId) {
SQLiteDatabase db = this.getReadableDatabase();
String sql = "delete from saveWordListTable" +
" where wordID="+"'"+wordId+"'";
db.execSQL(sql);
db.close();
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package edu.hzuapps.androidlabs.homeworks.net1414080903215;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

/**
* Created by acer on 2018/4/25.
*/


/*实现将数据库文件从raw目录拷贝到手机里存放数据库的位置*/
public class Net1414080903215_DBOpenHelper {
private final int BUFFER_SIZE=400000;//缓冲区大小
public static final String DB_NAME="idioms.db";//保存的数据库文件名
public static final String PACKAGE_NAME="edu.hzuapps.androidlabs.homeworks.net1414080903215";//应用的包名
public static final String DB_PATH="/data"+Environment.getDataDirectory().getAbsolutePath()+"/"+PACKAGE_NAME+"/databases";//在手机里存放数据库的位置
private Context context;
public Net1414080903215_DBOpenHelper(Context context){
this.context=context;
}
public SQLiteDatabase openDatabase(){
try {
File myDataPath=new File(DB_PATH);
if(!myDataPath.exists()){
myDataPath.mkdirs();//如果没有这个目录则创建
}
String dbfile=myDataPath+"/"+DB_NAME;
if(!(new File(dbfile).exists())){//判断数据库文件是否存在,如果不存在则执行导入,否则直接打开数据库
InputStream is=context.getResources().openRawResource(R.raw.idioms);
FileOutputStream fos=new FileOutputStream(dbfile);
byte[] buffer=new byte[BUFFER_SIZE];
int count=0;
while((count=is.read(buffer))>0){
fos.write(buffer,0,count);
}
fos.close();
is.close();
}
SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase(dbfile,null);
return db;
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package edu.hzuapps.androidlabs.homeworks.net1414080903215;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
* Created by acer on 2018/4/27.
*/

public class Net1414080903215_Search extends Activity {
private EditText search_edit;
private Button search;
private WebView myWebView1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_net1414080903215);
search_edit=(EditText) findViewById(R.id.search_edit);
search=(Button) findViewById(R.id.search);
myWebView1=(WebView) findViewById(R.id.myWebView1);
search.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
String strURI = (search_edit.getText().toString());
strURI = strURI.trim();
if(strURI.length()==0)
{
Toast.makeText(Net1414080903215_Search.this, "查询内容不能为空!", Toast.LENGTH_LONG).show();
}
else
{
String strURL = "http://xh.5156edu.com/m/search_net1414080903215?keyfrom=dict.mindex&q="+strURI;
myWebView1.loadUrl(strURL);
}
}
});

}

}

Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package edu.hzuapps.androidlabs.homeworks.net1414080903215;

import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;

import edu.hzuapps.androidlabs.homeworks.net1414080903215.adapter.Category;
import edu.hzuapps.androidlabs.homeworks.net1414080903215.adapter.CategoryAdapter;


public class Net1414080903215_SelectCategory extends Activity {
private List<Category> categoryList;
private String[] category_names;
private int[] category_images;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.selectcategory_net1414080903215);
initCategories();
CategoryAdapter adapter=new CategoryAdapter(this,R.layout.category_item_net1414080903215,categoryList);
ListView listView=(ListView) findViewById(R.id.lvCategories);
listView.setAdapter(adapter);//绑定适配器
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position,
long id) {
switch (position) {//position为0代表动物类
case 0:
Intent intent=new Intent(Net1414080903215_SelectCategory.this,Net1414080903215_Study.class);
startActivity(intent);
break;
default:
break;
}
}
});
}
private void initCategories() {
categoryList = new ArrayList<Category>();
Resources resources = getResources();
/*获取数据源*/
category_names = resources.getStringArray(R.array.category);
category_images = new int[] { R.drawable.category_animal,
R.drawable.category_nature, R.drawable.category_human,
R.drawable.category_season, R.drawable.category_number,
R.drawable.category_fable, R.drawable.category_other };
for(int i=0;i<category_names.length;i++){
categoryList.add(new Category(category_names[i],category_images[i]));
}
}
}
Loading