diff --git a/CS/.gitignore b/CS/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/CS/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/CS/app/.gitignore b/CS/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/CS/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/CS/app/build.gradle b/CS/app/build.gradle new file mode 100644 index 0000000..6c42bf8 --- /dev/null +++ b/CS/app/build.gradle @@ -0,0 +1,42 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdkVersion 30 + buildToolsVersion "30.0.3" + + defaultConfig { + applicationId "edu.hzuapps.labrary_management_system_final" + minSdkVersion 16 + targetSdkVersion 28 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'com.google.android.material:material:1.1.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'com.android.support:recyclerview-v7:27.1.1' + implementation 'com.android.support:cardview-v7:27.1.1' + implementation 'androidx.cardview:cardview:1.0.0' + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' +} \ No newline at end of file diff --git a/CS/app/proguard-rules.pro b/CS/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/CS/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/CS/app/src/androidTest/java/edu/hzuapps/labrary_management_system_final/ExampleInstrumentedTest.java b/CS/app/src/androidTest/java/edu/hzuapps/labrary_management_system_final/ExampleInstrumentedTest.java new file mode 100644 index 0000000..0123195 --- /dev/null +++ b/CS/app/src/androidTest/java/edu/hzuapps/labrary_management_system_final/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package edu.hzuapps.labrary_management_system_final; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("edu.hzuapps.labrary_management_system_final", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/CS/app/src/main/AndroidManifest.xml b/CS/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..bb7400e --- /dev/null +++ b/CS/app/src/main/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/MainActivity.java b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/MainActivity.java new file mode 100644 index 0000000..9a82377 --- /dev/null +++ b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/MainActivity.java @@ -0,0 +1,50 @@ +package edu.hzuapps.labrary_management_system_final; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + Button btnOpen1 = (Button) findViewById(R.id.book_entry); + + View view1 = findViewById(R.id.book_entry); + + btnOpen1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent1 = new Intent(MainActivity.this, book_entry.class); + startActivity(intent1); + } + }); + Button btnOpen2 = (Button) findViewById(R.id.borrowing_statistics); + + View view2 = findViewById(R.id.borrowing_statistics); + + btnOpen2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent2 = new Intent(MainActivity.this, borrowing_statistics.class); + startActivity(intent2); + } + }); + Button btnOpen3 = (Button) findViewById(R.id.book_list); + + View view3 = findViewById(R.id.book_list); + + btnOpen3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent3 = new Intent(MainActivity.this, book_list.class); + startActivity(intent3); + } + }); + } +} \ No newline at end of file diff --git a/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/MyDatabaseHelper.java b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/MyDatabaseHelper.java new file mode 100644 index 0000000..c984983 --- /dev/null +++ b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/MyDatabaseHelper.java @@ -0,0 +1,41 @@ +package edu.hzuapps.labrary_management_system_final; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.widget.Toast; + +import androidx.annotation.Nullable; + +public class MyDatabaseHelper extends SQLiteOpenHelper { + public static final String CREATE_Book="create table book(" + +"id integer primary key autoincrement," + +"bookname text," + +"bookwriter text," + +"bookfrom text," + +"bookphoto text," + +"bookjianjie text)"; + private Context context; + public MyDatabaseHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) { + super(context, name, factory, version); + this.context=context; + } + + @Override + public void onCreate(SQLiteDatabase db) { + db.execSQL(CREATE_Book); + db.execSQL(CREATE_User); + Toast.makeText(context,"Creat succeed",Toast.LENGTH_SHORT); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + + } + public static final String CREATE_User="create table user(" + +"id integer primary key autoincrement," + +"username text," + +"password text)"; + private Context context1; + +} diff --git a/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/addbook.java b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/addbook.java new file mode 100644 index 0000000..4da10e6 --- /dev/null +++ b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/addbook.java @@ -0,0 +1,91 @@ +package edu.hzuapps.labrary_management_system_final; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.ContentValues; +import android.content.Intent; +import android.database.DatabaseUtils; +import android.database.sqlite.SQLiteDatabase; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Handler; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.Toast; + +import java.text.BreakIterator; + +import javax.crypto.NullCipher; + +public class addbook extends AppCompatActivity { + private EditText add_bookname,add_bookwriter,add_bookfrom,add_bookphoto,add_bookjianjie; + private Button queren; + private MyDatabaseHelper dbHelper; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_addbook); + add_bookname = findViewById(R.id.add_bookname); + add_bookwriter = findViewById(R.id.add_bookwriter); + add_bookfrom = findViewById(R.id.add_bookfrom); + add_bookphoto = findViewById(R.id.add_bookphoto); + add_bookjianjie = findViewById(R.id.add_bookjianjie); + queren = findViewById(R.id.queren); + dbHelper=new MyDatabaseHelper(this,"book.db",null,1); + Button queren=(Button)findViewById(R.id.queren); + View view = findViewById(R.id.queren); + queren.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String bookname = add_bookname.getText().toString(); + String bookwriter = add_bookwriter.getText().toString(); + String bookfrom = add_bookfrom.getText().toString(); + String bookphoto = add_bookphoto.getText().toString(); + String bookjianjie = add_bookjianjie.getText().toString(); + SQLiteDatabase db=dbHelper.getWritableDatabase(); + ContentValues values = new ContentValues(); + values.put("bookname",bookname); + values.put("bookwriter",bookwriter); + values.put("bookfrom",bookfrom); + values.put("bookphoto",bookphoto); + values.put("bookjianjie",bookjianjie); + db.insert("book",null,values); + values.clear(); + for(;;){ + if((!bookname.isEmpty())&&(!bookwriter.isEmpty())&&(!bookfrom.isEmpty())&&(!bookphoto.isEmpty())&&(!bookjianjie.isEmpty())){ + Toast.makeText(addbook.this, "添加成功", Toast.LENGTH_SHORT).show(); + Intent intent = new Intent(addbook.this,book_list.class); + startActivity(intent); + break; + } + else{ + if(bookname.isEmpty()){ + Toast.makeText(addbook.this, "书名未填写,请完善后再点击确认", Toast.LENGTH_SHORT).show(); + break; + } + if(bookwriter.isEmpty()){ + Toast.makeText(addbook.this, "作者未填写,请完善后再点击确认", Toast.LENGTH_SHORT).show(); + break; + } + if(bookfrom.isEmpty()){ + Toast.makeText(addbook.this, "出版社未填写,请完善后再点击确认", Toast.LENGTH_SHORT).show(); + break; + } + if(bookphoto.isEmpty()){ + Toast.makeText(addbook.this, "图片地址未填写,请完善后再点击确认", Toast.LENGTH_SHORT).show(); + break; + } + if(bookjianjie.isEmpty()){ + Toast.makeText(addbook.this, "简介未填写,请完善后再点击确认", Toast.LENGTH_SHORT).show(); + break; + } + } + + } + } + }); + + } +} \ No newline at end of file diff --git a/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/book_entry.java b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/book_entry.java new file mode 100644 index 0000000..67f0102 --- /dev/null +++ b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/book_entry.java @@ -0,0 +1,14 @@ +package edu.hzuapps.labrary_management_system_final; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class book_entry extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_book_entry); + } +} \ No newline at end of file diff --git a/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/book_list.java b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/book_list.java new file mode 100644 index 0000000..c79e0b9 --- /dev/null +++ b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/book_list.java @@ -0,0 +1,178 @@ +package edu.hzuapps.labrary_management_system_final; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.os.Bundle; +import android.text.Layout; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.BaseAdapter; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.TextView; + +import java.net.Inet4Address; +import java.util.ArrayList; +import java.util.List; + +import javax.security.auth.login.LoginException; + +public class book_list extends AppCompatActivity { + + ListView model; + private MyDatabaseHelper dbHelper; + List bookindex; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_book_list); + model = findViewById(R.id.book_list_test); + dbHelper=new MyDatabaseHelper(this,"book.db",null,1); + bookindex=findAllData(); + model.setAdapter(new myadapter(this, bookindex)); + + Button CreateDatabase=(Button)findViewById(R.id.Create_database); + model.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + Intent intent_newone=new Intent(book_list.this, bookchange.class); + intent_newone.putExtra("bookname",bookindex.get(position).bookname); + intent_newone.putExtra("bookwriter",bookindex.get(position).bookwriter); + intent_newone.putExtra("bookfrom",bookindex.get(position).bookfrom); + startActivity(intent_newone); + } + }); + CreateDatabase.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dbHelper.getWritableDatabase(); + } + }); + Button add_data=(Button)findViewById(R.id.add_data); + View view = findViewById(R.id.add_data); + add_data.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(book_list.this,addbook.class); + startActivity(intent); + } + }); + } + public List findAllData(){ + Listlist = new ArrayList<>(); + SQLiteDatabase db = dbHelper.getWritableDatabase(); + Cursor cursor = db.rawQuery("select bookname,bookwriter,bookfrom from book",new String[]{}); + Log.i("myerror", "start"); + while (cursor.moveToNext()){ + String bookname = cursor.getString(0); + String bookwriter = cursor.getString(1); + String bookfrom = cursor.getString(2); + Log.i("myerror", bookname+" "+bookwriter+" "+bookfrom); + list.add(new listmodel(bookname,bookwriter,bookfrom)); + } + Log.i("myerror", "end"); + cursor.close(); + db.close(); + return list; + } +} + class listmodel{ + String bookname; + String bookwriter; + String bookfrom; + public listmodel(){} + public listmodel(String bookname,String bookwriter,String bookfrom){ + this.bookfrom = bookfrom; + this.bookname = bookname; + this.bookwriter = bookwriter; + } + + public String getBookfrom() { + return bookfrom; + } + + public String getBookname() { + return bookname; + } + + public String getBookwriter() { + return bookwriter; + } + + public void setBookfrom(String bookfrom) { + this.bookfrom = bookfrom; + } + + public void setBookname(String bookname) { + this.bookname = bookname; + } + + public void setBookwriter(String bookwriter) { + this.bookwriter = bookwriter; + } +} +class myadapter extends BaseAdapter{ + + private Context context; + private List list; + private MyDatabaseHelper dbHelper; + public myadapter(){} + + public myadapter(Context context, List list) { + this.context = context; + this.list = list; + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int position) { + return null; + } + + @Override + public long getItemId(int position) { + return 0; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + TextView tv_bookname,tv_bookwriter,tv_bookfrom; + ImageView image_picture; + if(convertView == null){ + convertView = LayoutInflater.from(context).inflate(R.layout.list_model,null); + tv_bookname = convertView.findViewById(R.id.list_model_tv_bookname); + tv_bookwriter =convertView.findViewById(R.id.list_model_tv_bookwriter); + tv_bookfrom = convertView.findViewById(R.id.list_model_tv_bookfrom); + image_picture = convertView.findViewById(R.id.list_model_image_picture); + tv_bookname.setText(list.get(position).getBookname()); + tv_bookwriter.setText(list.get(position).getBookwriter()); + tv_bookfrom.setText(list.get(position).getBookfrom()); + image_picture.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dbHelper=new MyDatabaseHelper(context,"book.db",null,1); + SQLiteDatabase db=dbHelper.getWritableDatabase(); + ContentValues values = new ContentValues(); + db.delete("book","bookname = '"+list.get(position).getBookname()+"'",new String[]{}); + Intent restartintent = new Intent(context,book_list.class); + context.startActivity(restartintent); + } + }); + } + return convertView; + } +} \ No newline at end of file diff --git a/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/bookchange.java b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/bookchange.java new file mode 100644 index 0000000..67bfd31 --- /dev/null +++ b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/bookchange.java @@ -0,0 +1,101 @@ +package edu.hzuapps.labrary_management_system_final; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import java.io.InputStream; +import java.net.URL; + +import javax.net.ssl.HttpsURLConnection; + +public class bookchange extends AppCompatActivity { + protected static final int CHANGE_UI = 1; + protected static final int ERROR = 2; + String bookphoto; + private ImageView set_bookphoto; + private MyDatabaseHelper dbHelper; + private Handler handler = new Handler() { + @Override + public void handleMessage(android.os.Message msg) { + if (msg.what == CHANGE_UI) { + Bitmap bitmap = (Bitmap) msg.obj; + set_bookphoto.setImageBitmap(bitmap); + } else if (msg.what == ERROR) { + Toast.makeText(bookchange.this, "显示图片错误", Toast.LENGTH_SHORT).show(); + } + } + }; + protected void onCreate(Bundle savedInstanceState) { + + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_bookchange); + Intent intent = getIntent(); + TextView bookname = findViewById(R.id.set_bookname); + bookname.setText(intent.getStringExtra("bookname")); + TextView bookwriter = findViewById(R.id.set_bookwriter); + bookwriter.setText(intent.getStringExtra("bookwriter")); + TextView bookfrom = findViewById(R.id.set_bookfrom); + bookfrom.setText(intent.getStringExtra("bookfrom")); + TextView bookjianjie = findViewById(R.id.set_bookjianjie); + bookjianjie.setText(intent.getStringExtra("bookjianjie")); + set_bookphoto = (ImageView) findViewById(R.id.set_bookphoto); + + dbHelper=new MyDatabaseHelper(this,"book.db",null,1); + SQLiteDatabase db = dbHelper.getWritableDatabase(); + Cursor cursor = db.rawQuery("select bookphoto from book where bookname = "+"'"+intent.getStringExtra("bookname")+"'",new String[]{}); + Log.i("myerror", "start"); + if (cursor.moveToNext()){ + bookphoto = cursor.getString(0); + } + Log.i("myerror", "end"); + cursor.close(); + db.close(); + + new Thread(new Runnable() { + @Override + public void run() { + try { + Log.i("cao", "run: "+bookphoto); + URL url = new URL(bookphoto); + HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(5000); + int code = conn.getResponseCode(); + if (code == 200) { + InputStream is = conn.getInputStream(); + Bitmap bitmap = BitmapFactory.decodeStream(is); + Message msg = new Message(); + msg.what = CHANGE_UI; + msg.obj = bitmap; + handler.sendMessage(msg); + } else { + Message msg = new Message(); + msg.what = ERROR; + handler.sendMessage(msg); + } + } catch (Exception e) { + e.printStackTrace(); + Message msg = new Message(); + msg.what = ERROR; + handler.sendMessage(msg); + } + } + }).start(); + } +} \ No newline at end of file diff --git a/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/borrowing_statistics.java b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/borrowing_statistics.java new file mode 100644 index 0000000..f2608de --- /dev/null +++ b/CS/app/src/main/java/edu/hzuapps/labrary_management_system_final/borrowing_statistics.java @@ -0,0 +1,14 @@ +package edu.hzuapps.labrary_management_system_final; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class borrowing_statistics extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_borrowing_statistics); + } +} \ No newline at end of file diff --git a/CS/app/src/main/res/drawable-v24/add.png b/CS/app/src/main/res/drawable-v24/add.png new file mode 100644 index 0000000..b0bfee8 Binary files /dev/null and b/CS/app/src/main/res/drawable-v24/add.png differ diff --git a/CS/app/src/main/res/drawable-v24/delete.png b/CS/app/src/main/res/drawable-v24/delete.png new file mode 100644 index 0000000..0a7fe33 Binary files /dev/null and b/CS/app/src/main/res/drawable-v24/delete.png differ diff --git a/CS/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/CS/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/CS/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/CS/app/src/main/res/drawable/b1.png b/CS/app/src/main/res/drawable/b1.png new file mode 100644 index 0000000..91dc1e3 Binary files /dev/null and b/CS/app/src/main/res/drawable/b1.png differ diff --git a/CS/app/src/main/res/drawable/b2.png b/CS/app/src/main/res/drawable/b2.png new file mode 100644 index 0000000..5884ec1 Binary files /dev/null and b/CS/app/src/main/res/drawable/b2.png differ diff --git a/CS/app/src/main/res/drawable/four.png b/CS/app/src/main/res/drawable/four.png new file mode 100644 index 0000000..88f33d5 Binary files /dev/null and b/CS/app/src/main/res/drawable/four.png differ diff --git a/CS/app/src/main/res/drawable/gantanhao.jpg b/CS/app/src/main/res/drawable/gantanhao.jpg new file mode 100644 index 0000000..11a0a4d Binary files /dev/null and b/CS/app/src/main/res/drawable/gantanhao.jpg differ diff --git a/CS/app/src/main/res/drawable/ic_launcher_background.xml b/CS/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/CS/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CS/app/src/main/res/drawable/one.png b/CS/app/src/main/res/drawable/one.png new file mode 100644 index 0000000..d20f448 Binary files /dev/null and b/CS/app/src/main/res/drawable/one.png differ diff --git a/CS/app/src/main/res/drawable/shejian.png b/CS/app/src/main/res/drawable/shejian.png new file mode 100644 index 0000000..5fdbc08 Binary files /dev/null and b/CS/app/src/main/res/drawable/shejian.png differ diff --git a/CS/app/src/main/res/drawable/three.png b/CS/app/src/main/res/drawable/three.png new file mode 100644 index 0000000..af4db4c Binary files /dev/null and b/CS/app/src/main/res/drawable/three.png differ diff --git a/CS/app/src/main/res/drawable/two.png b/CS/app/src/main/res/drawable/two.png new file mode 100644 index 0000000..91e28b9 Binary files /dev/null and b/CS/app/src/main/res/drawable/two.png differ diff --git a/CS/app/src/main/res/drawable/zhuye.jpg b/CS/app/src/main/res/drawable/zhuye.jpg new file mode 100644 index 0000000..627835c Binary files /dev/null and b/CS/app/src/main/res/drawable/zhuye.jpg differ diff --git a/CS/app/src/main/res/layout/activity_addbook.xml b/CS/app/src/main/res/layout/activity_addbook.xml new file mode 100644 index 0000000..5889790 --- /dev/null +++ b/CS/app/src/main/res/layout/activity_addbook.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CS/app/src/main/res/layout/activity_book_entry.xml b/CS/app/src/main/res/layout/activity_book_entry.xml new file mode 100644 index 0000000..b0cb42f --- /dev/null +++ b/CS/app/src/main/res/layout/activity_book_entry.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/CS/app/src/main/res/layout/activity_book_list.xml b/CS/app/src/main/res/layout/activity_book_list.xml new file mode 100644 index 0000000..18050e7 --- /dev/null +++ b/CS/app/src/main/res/layout/activity_book_list.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/CS/app/src/main/res/layout/activity_bookchange.xml b/CS/app/src/main/res/layout/activity_bookchange.xml new file mode 100644 index 0000000..505fae8 --- /dev/null +++ b/CS/app/src/main/res/layout/activity_bookchange.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CS/app/src/main/res/layout/activity_borrowing_statistics.xml b/CS/app/src/main/res/layout/activity_borrowing_statistics.xml new file mode 100644 index 0000000..a22ea6a --- /dev/null +++ b/CS/app/src/main/res/layout/activity_borrowing_statistics.xml @@ -0,0 +1,14 @@ + + + + \ No newline at end of file diff --git a/CS/app/src/main/res/layout/activity_main.xml b/CS/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b82d0b6 --- /dev/null +++ b/CS/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,62 @@ + + + + + + +