├── ItBook ├── .gitignore ├── .idea │ ├── encodings.xml │ ├── gradle.xml │ ├── misc.xml │ └── runConfigurations.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ └── volley.jar │ ├── proguard-rules.pro │ ├── release │ │ ├── ITBook.apk │ │ └── output.json │ ├── src │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── glc │ │ │ │ └── itbook │ │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── glc │ │ │ │ │ └── itbook │ │ │ │ │ ├── AddActivity.java │ │ │ │ │ ├── BanBenActivity.java │ │ │ │ │ ├── LoginActivity.java │ │ │ │ │ ├── MenuActivity.java │ │ │ │ │ ├── RegistActivity.java │ │ │ │ │ ├── UpdateActity.java │ │ │ │ │ ├── UpdateItemActivity.java │ │ │ │ │ ├── XiangQingActivity.java │ │ │ │ │ ├── bean │ │ │ │ │ └── Book.java │ │ │ │ │ └── fragment │ │ │ │ │ ├── Fragment_dongtai.java │ │ │ │ │ ├── Fragment_index.java │ │ │ │ │ └── Fragment_wode.java │ │ │ └── res │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ ├── add.png │ │ │ │ ├── admin.jpg │ │ │ │ ├── banben.png │ │ │ │ ├── bg.jpg │ │ │ │ ├── bg_edit.xml │ │ │ │ ├── bg_edit2.xml │ │ │ │ ├── buttonstyle.xml │ │ │ │ ├── buttonstyle2.xml │ │ │ │ ├── dianhua.png │ │ │ │ ├── dongtai.png │ │ │ │ ├── dongtai1.png │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── index.png │ │ │ │ ├── index1.png │ │ │ │ ├── me.png │ │ │ │ ├── me1.png │ │ │ │ ├── mima.png │ │ │ │ ├── sousuo.png │ │ │ │ ├── updatebook.png │ │ │ │ ├── youjiantou.png │ │ │ │ └── zuojiantou.png │ │ │ │ ├── layout │ │ │ │ ├── activity_add.xml │ │ │ │ ├── activity_ban_ben.xml │ │ │ │ ├── activity_login.xml │ │ │ │ ├── activity_menu.xml │ │ │ │ ├── activity_regist.xml │ │ │ │ ├── activity_update_actity.xml │ │ │ │ ├── activity_update_item.xml │ │ │ │ ├── activity_xiang_qing.xml │ │ │ │ ├── fragment_dongtai.xml │ │ │ │ ├── fragment_index.xml │ │ │ │ ├── fragment_wode.xml │ │ │ │ ├── item_booklist.xml │ │ │ │ └── item_booklist2.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── book.png │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── glc │ │ │ └── itbook │ │ │ └── ExampleUnitTest.java │ └── volley.jar ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── README.md └── login-register ├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── item.sql ├── mvnw ├── mvnw.cmd ├── pom.xml ├── src ├── main │ ├── java │ │ └── com │ │ │ └── glc │ │ │ └── loginregister │ │ │ ├── LoginRegisterApplication.java │ │ │ ├── controller │ │ │ ├── ItemController.java │ │ │ └── UserController.java │ │ │ ├── entity │ │ │ ├── Item.java │ │ │ ├── Message.java │ │ │ ├── PageBean.java │ │ │ ├── Result.java │ │ │ └── User.java │ │ │ ├── mapper │ │ │ ├── ItemMapper.java │ │ │ └── UserMapper.java │ │ │ └── service │ │ │ ├── ItemService.java │ │ │ └── UserService.java │ └── resources │ │ ├── application.properties │ │ └── application.yml └── test │ └── java │ └── com │ └── glc │ └── loginregister │ └── LoginRegisterApplicationTests.java └── usermessage.sql /ItBook/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | -------------------------------------------------------------------------------- /ItBook/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ItBook/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | 15 | -------------------------------------------------------------------------------- /ItBook/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /ItBook/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /ItBook/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /ItBook/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 29 5 | buildToolsVersion "29.0.2" 6 | defaultConfig { 7 | applicationId "com.glc.itbook" 8 | minSdkVersion 15 9 | targetSdkVersion 29 10 | versionCode 1 11 | versionName "1.0" 12 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | implementation fileTree(include: ['*.jar'], dir: 'libs') 24 | implementation 'androidx.appcompat:appcompat:1.1.0' 25 | implementation 'androidx.constraintlayout:constraintlayout:1.1.3' 26 | implementation 'androidx.legacy:legacy-support-v4:1.0.0' 27 | testImplementation 'junit:junit:4.12' 28 | androidTestImplementation 'androidx.test:runner:1.2.0' 29 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' 30 | implementation files('libs/volley.jar') 31 | implementation 'com.google.code.gson:gson:2.8.0' 32 | 33 | implementation 'com.github.bumptech.glide:glide:3.7.0' 34 | 35 | implementation 'jp.wasabeef:glide-transformations:2.0.1' 36 | 37 | implementation 'de.hdodenhof:circleimageview:2.1.0' 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /ItBook/app/libs/volley.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/libs/volley.jar -------------------------------------------------------------------------------- /ItBook/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /ItBook/app/release/ITBook.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/release/ITBook.apk -------------------------------------------------------------------------------- /ItBook/app/release/output.json: -------------------------------------------------------------------------------- 1 | [{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] -------------------------------------------------------------------------------- /ItBook/app/src/androidTest/java/com/glc/itbook/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.InstrumentationRegistry; 6 | import androidx.test.runner.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getTargetContext(); 24 | 25 | assertEquals("com.glc.itbook", appContext.getPackageName()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ItBook/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/AddActivity.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.util.Log; 8 | import android.view.View; 9 | import android.widget.Button; 10 | import android.widget.EditText; 11 | import android.widget.ImageView; 12 | import android.widget.Toast; 13 | 14 | import com.android.volley.Request; 15 | import com.android.volley.RequestQueue; 16 | import com.android.volley.Response; 17 | import com.android.volley.VolleyError; 18 | import com.android.volley.toolbox.JsonObjectRequest; 19 | import com.android.volley.toolbox.Volley; 20 | 21 | import org.json.JSONException; 22 | import org.json.JSONObject; 23 | 24 | import java.io.UnsupportedEncodingException; 25 | import java.net.URLEncoder; 26 | 27 | public class AddActivity extends AppCompatActivity { 28 | private EditText addBookName; 29 | private EditText addBookimg; 30 | private EditText addBookAuthor; 31 | private EditText addBookinfo; 32 | private EditText addBookLianjie; 33 | private Button addBtn; 34 | private ImageView img; 35 | @Override 36 | protected void onCreate(Bundle savedInstanceState) { 37 | super.onCreate(savedInstanceState); 38 | setContentView(R.layout.activity_add); 39 | addBookName=findViewById(R.id.edt_addBookName); 40 | addBookimg=findViewById(R.id.edt_addBookimg); 41 | addBookAuthor=findViewById(R.id.edt_addBookAuthor); 42 | addBookinfo=findViewById(R.id.edt_addBookInfo); 43 | addBookLianjie=findViewById(R.id.edt_addBookLianjie); 44 | addBtn=findViewById(R.id.btn_Add); 45 | img=findViewById(R.id.img_fanhuiAdd); 46 | 47 | img.setOnClickListener(new View.OnClickListener() { 48 | @Override 49 | public void onClick(View view) { 50 | finish(); 51 | } 52 | }); 53 | 54 | addBtn.setOnClickListener(new View.OnClickListener() { 55 | @Override 56 | public void onClick(View view) { 57 | String name = addBookName.getText().toString(); 58 | String img = addBookimg.getText().toString(); 59 | String author= addBookAuthor.getText().toString(); 60 | String info = addBookinfo.getText().toString(); 61 | String lianjie = addBookLianjie.getText().toString(); 62 | if(name.equals("")||img.equals("")||author.equals("")||info.equals("")||lianjie.equals("")){ 63 | Toast.makeText(AddActivity.this, "请填写完整", Toast.LENGTH_SHORT).show(); 64 | }else { 65 | try { 66 | String name1 = URLEncoder.encode(name, "utf-8"); 67 | String img1 = URLEncoder.encode(img, "utf-8"); 68 | String author1= URLEncoder.encode(author, "utf-8"); 69 | String info1 = URLEncoder.encode(info, "utf-8"); 70 | String lianjie1 = URLEncoder.encode(lianjie, "utf-8"); 71 | Add(name1,img1,author1,info1,lianjie1); 72 | } catch (UnsupportedEncodingException e) { 73 | e.printStackTrace(); 74 | } 75 | } 76 | 77 | } 78 | }); 79 | 80 | 81 | 82 | 83 | } 84 | private void Add(String name,String img,String author,String info,String lianjie){ 85 | JSONObject jsonObject=new JSONObject(); 86 | String url="http://192.168.1.103:8085/item/insertItem?book_name="+name+"&book_img="+img+"&book_author="+author+"&book_info="+info+"&book_download="+lianjie+""; 87 | RequestQueue requestQueue= Volley.newRequestQueue(AddActivity.this); 88 | JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener() { 89 | @Override 90 | public void onResponse(JSONObject jsonObject) { 91 | try { 92 | String info1 = jsonObject.getString("info"); 93 | if(info1.equals("添加成功")){ 94 | Toast.makeText(AddActivity.this, "添加成功", Toast.LENGTH_SHORT).show(); 95 | }else { 96 | Toast.makeText(AddActivity.this, "添加失败", Toast.LENGTH_SHORT).show(); 97 | } 98 | } catch (JSONException e) { 99 | e.printStackTrace(); 100 | } 101 | } 102 | }, new Response.ErrorListener() { 103 | @Override 104 | public void onErrorResponse(VolleyError volleyError) { 105 | Log.d("错误", volleyError.toString()); 106 | Toast.makeText(AddActivity.this, "网络失败", Toast.LENGTH_SHORT).show(); 107 | } 108 | }); 109 | requestQueue.add(jsonObjectRequest); 110 | 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/BanBenActivity.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.net.Uri; 7 | import android.os.Bundle; 8 | import android.view.View; 9 | import android.widget.ImageView; 10 | import android.widget.TextView; 11 | 12 | public class BanBenActivity extends AppCompatActivity { 13 | private ImageView fanhui; 14 | private TextView lianZhang; 15 | private TextView lianGao; 16 | @Override 17 | protected void onCreate(Bundle savedInstanceState) { 18 | super.onCreate(savedInstanceState); 19 | setContentView(R.layout.activity_ban_ben); 20 | lianZhang=findViewById(R.id.lianjie_zhang); 21 | fanhui=findViewById(R.id.img_fanhuiAdd); 22 | lianGao=findViewById(R.id.lianxiwo_gao); 23 | fanhui.setOnClickListener(new View.OnClickListener() { 24 | @Override 25 | public void onClick(View view) { 26 | finish(); 27 | } 28 | }); 29 | lianZhang.setOnClickListener(new View.OnClickListener() { 30 | @Override 31 | public void onClick(View view) { 32 | Intent intent = new Intent(); 33 | //intent 动作 34 | intent.setAction("android.intent.action.VIEW"); 35 | //打开的网址 36 | intent.setData(Uri.parse("https://me.csdn.net/weixin_43912367")); 37 | startActivity(intent); 38 | } 39 | }); 40 | lianGao.setOnClickListener(new View.OnClickListener() { 41 | @Override 42 | public void onClick(View view) { 43 | Intent intent = new Intent(); 44 | //intent 动作 45 | intent.setAction("android.intent.action.VIEW"); 46 | //打开的网址 47 | intent.setData(Uri.parse("http://www.gaolicong.xyz/")); 48 | startActivity(intent); 49 | } 50 | }); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/LoginActivity.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Context; 6 | import android.content.Intent; 7 | import android.content.SharedPreferences; 8 | import android.os.Bundle; 9 | import android.util.Log; 10 | import android.view.View; 11 | import android.view.WindowManager; 12 | import android.widget.Button; 13 | import android.widget.EditText; 14 | import android.widget.Toast; 15 | 16 | import com.android.volley.Request; 17 | import com.android.volley.RequestQueue; 18 | import com.android.volley.Response; 19 | import com.android.volley.VolleyError; 20 | import com.android.volley.toolbox.JsonObjectRequest; 21 | import com.android.volley.toolbox.Volley; 22 | 23 | import org.json.JSONException; 24 | import org.json.JSONObject; 25 | 26 | public class LoginActivity extends AppCompatActivity { 27 | private EditText login_username; 28 | private EditText login_password; 29 | private Button btn_login; 30 | private Button btnRegister; 31 | private SharedPreferences sharedPreferences; 32 | 33 | @Override 34 | protected void onCreate(final Bundle savedInstanceState) { 35 | super.onCreate(savedInstanceState); 36 | setContentView(R.layout.activity_login); 37 | //透明状态栏           38 | getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 39 | getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 40 | 41 | btnRegister = findViewById(R.id.btn_registerActivity); 42 | login_username = findViewById(R.id.edt_login_username); 43 | login_password = findViewById(R.id.edt_login_password); 44 | btn_login = findViewById(R.id.btn_login); 45 | 46 | 47 | sharedPreferences =getSharedPreferences("data",Context.MODE_PRIVATE); 48 | String userstr= sharedPreferences.getString("username",""); 49 | String phonestr= sharedPreferences.getString("phone",""); 50 | if(userstr.equals("")){ 51 | 52 | }else { 53 | Intent intent = new Intent(LoginActivity.this, MenuActivity.class); 54 | intent.putExtra("username", userstr); 55 | intent.putExtra("phone", phonestr); 56 | startActivity(intent); 57 | } 58 | Intent intent = getIntent(); 59 | final String username1 = intent.getStringExtra("username1"); 60 | login_username.setText(username1); 61 | 62 | btn_login.setOnClickListener(new View.OnClickListener() { 63 | @Override 64 | public void onClick(View view) { 65 | String usernameStr = login_username.getText().toString().trim(); 66 | String passwordStr = login_password.getText().toString().trim(); 67 | if (usernameStr.equals("") || passwordStr.equals("")) { 68 | Toast.makeText(LoginActivity.this, "用户名密码不能为空", Toast.LENGTH_SHORT).show(); 69 | } else { 70 | JSONObject jsonObject = new JSONObject(); 71 | try { 72 | jsonObject.put("username", usernameStr); 73 | jsonObject.put("password", passwordStr); 74 | } catch (JSONException e) { 75 | e.printStackTrace(); 76 | } 77 | String url = "http://192.168.1.103:8085/user/login"; 78 | RequestQueue requestQueue = Volley.newRequestQueue(LoginActivity.this); 79 | JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener() { 80 | @Override 81 | public void onResponse(JSONObject jsonObject) { 82 | try { 83 | Log.d("信心", jsonObject.toString()); 84 | String msg = jsonObject.getString("msg"); 85 | Log.d("msg", msg); 86 | if (msg.equals("登录成功")) { 87 | 88 | JSONObject detail = jsonObject.getJSONObject("detail"); 89 | String username = detail.getString("username"); 90 | String phone = detail.getString("phone"); 91 | 92 | sharedPreferences=getSharedPreferences("data",Context.MODE_PRIVATE); 93 | SharedPreferences.Editor editor = sharedPreferences.edit(); 94 | editor.putString("username",username); 95 | editor.putString("phone",phone); 96 | editor.commit(); 97 | 98 | 99 | 100 | Intent intent = new Intent(LoginActivity.this, MenuActivity.class); 101 | intent.putExtra("username", username); 102 | intent.putExtra("phone", phone); 103 | startActivity(intent); 104 | } else if (msg.equals("用户名或密码错误")) { 105 | Toast.makeText(LoginActivity.this, "用户名密码有误", Toast.LENGTH_SHORT).show(); 106 | } 107 | 108 | } catch (JSONException e) { 109 | e.printStackTrace(); 110 | } 111 | 112 | } 113 | }, new Response.ErrorListener() { 114 | @Override 115 | public void onErrorResponse(VolleyError volleyError) { 116 | Toast.makeText(LoginActivity.this, "网络出错", Toast.LENGTH_SHORT).show(); 117 | } 118 | }); 119 | requestQueue.add(jsonObjectRequest); 120 | } 121 | 122 | } 123 | }); 124 | 125 | btnRegister.setOnClickListener(new View.OnClickListener() { 126 | @Override 127 | public void onClick(View view) { 128 | startActivity(new Intent(LoginActivity.this, RegistActivity.class)); 129 | } 130 | }); 131 | 132 | 133 | } 134 | } 135 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/MenuActivity.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.appcompat.app.AppCompatActivity; 5 | import androidx.fragment.app.Fragment; 6 | import androidx.fragment.app.FragmentManager; 7 | import androidx.fragment.app.FragmentPagerAdapter; 8 | import androidx.viewpager.widget.ViewPager; 9 | 10 | import android.content.Context; 11 | import android.content.Intent; 12 | import android.content.SharedPreferences; 13 | import android.graphics.Color; 14 | import android.os.Bundle; 15 | import android.view.View; 16 | import android.widget.ImageView; 17 | import android.widget.LinearLayout; 18 | import android.widget.TextView; 19 | 20 | import com.glc.itbook.fragment.Fragment_dongtai; 21 | import com.glc.itbook.fragment.Fragment_index; 22 | import com.glc.itbook.fragment.Fragment_wode; 23 | 24 | import java.util.ArrayList; 25 | import java.util.List; 26 | 27 | public class MenuActivity extends AppCompatActivity { 28 | private ViewPager vp; 29 | private LinearLayout btn1; 30 | private TextView tv1; 31 | private ImageView imgIndex; 32 | private LinearLayout btn2; 33 | private TextView tv2; 34 | private ImageView imgDongtai; 35 | private LinearLayout btn3; 36 | private TextView tv3; 37 | private ImageView imgMe; 38 | 39 | List fragments = new ArrayList<>(); 40 | 41 | @Override 42 | protected void onCreate(Bundle savedInstanceState) { 43 | super.onCreate(savedInstanceState); 44 | setContentView(R.layout.activity_menu); 45 | vp = findViewById(R.id.vp_vp1); 46 | btn1 = findViewById(R.id.ly_btn1); 47 | tv1 = findViewById(R.id.tv_index); 48 | imgIndex = findViewById(R.id.img_index); 49 | btn2 = findViewById(R.id.ly_btn2); 50 | tv2 = findViewById(R.id.tv_dongtai); 51 | imgDongtai = findViewById(R.id.img_dongtai); 52 | btn3 = findViewById(R.id.ly_btn3); 53 | tv3 = findViewById(R.id.tv_wode); 54 | imgMe = findViewById(R.id.img_me); 55 | fragments.add(new Fragment_index()); 56 | fragments.add(new Fragment_dongtai()); 57 | fragments.add(new Fragment_wode()); 58 | 59 | 60 | SharedPreferences sharedPreferences=getSharedPreferences("data", Context.MODE_PRIVATE); 61 | String username1 = sharedPreferences.getString("username", null); 62 | Intent intent = getIntent(); 63 | String username = intent.getStringExtra("username"); 64 | String phone = intent.getStringExtra("phone"); 65 | 66 | intent.getStringExtra("msg"); 67 | Bundle bundle = new Bundle(); 68 | bundle.putString("username", username); 69 | bundle.putString("phone", phone); 70 | fragments.get(2).setArguments(bundle); 71 | 72 | fragments.get(1).setArguments(bundle); 73 | vp.setOffscreenPageLimit(3); 74 | vp.setAdapter(new MyPageAdapter(getSupportFragmentManager())); 75 | 76 | btn1.setOnClickListener(new View.OnClickListener() { 77 | @Override 78 | public void onClick(View view) { 79 | vp.setCurrentItem(0); 80 | tv1.setTextColor(Color.parseColor("#0099ff")); 81 | tv2.setTextColor(Color.parseColor("#F7F7F7")); 82 | tv3.setTextColor(Color.parseColor("#F7F7F7")); 83 | imgIndex.setImageResource(R.drawable.index); 84 | imgDongtai.setImageResource(R.drawable.dongtai); 85 | imgMe.setImageResource(R.drawable.me1); 86 | 87 | } 88 | }); 89 | btn2.setOnClickListener(new View.OnClickListener() { 90 | @Override 91 | public void onClick(View view) { 92 | vp.setCurrentItem(1); 93 | tv2.setTextColor(Color.parseColor("#0099ff")); 94 | tv1.setTextColor(Color.parseColor("#F7F7F7")); 95 | tv3.setTextColor(Color.parseColor("#F7F7F7")); 96 | imgIndex.setImageResource(R.drawable.index1); 97 | imgDongtai.setImageResource(R.drawable.dongtai1); 98 | imgMe.setImageResource(R.drawable.me1); 99 | 100 | } 101 | }); 102 | btn3.setOnClickListener(new View.OnClickListener() { 103 | @Override 104 | public void onClick(View view) { 105 | vp.setCurrentItem(2); 106 | tv3.setTextColor(Color.parseColor("#0099ff")); 107 | tv1.setTextColor(Color.parseColor("#F7F7F7")); 108 | tv2.setTextColor(Color.parseColor("#F7F7F7")); 109 | imgIndex.setImageResource(R.drawable.index1); 110 | imgDongtai.setImageResource(R.drawable.dongtai); 111 | imgMe.setImageResource(R.drawable.me); 112 | } 113 | }); 114 | 115 | vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 116 | @Override 117 | public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 118 | 119 | } 120 | 121 | @Override 122 | public void onPageSelected(int position) { 123 | switch (position) { 124 | case 0: 125 | tv1.setTextColor(Color.parseColor("#0099ff")); 126 | tv2.setTextColor(Color.parseColor("#F7F7F7")); 127 | tv3.setTextColor(Color.parseColor("#F7F7F7")); 128 | imgIndex.setImageResource(R.drawable.index); 129 | imgDongtai.setImageResource(R.drawable.dongtai); 130 | imgMe.setImageResource(R.drawable.me1); 131 | break; 132 | case 1: 133 | tv2.setTextColor(Color.parseColor("#0099ff")); 134 | tv1.setTextColor(Color.parseColor("#F7F7F7")); 135 | tv3.setTextColor(Color.parseColor("#F7F7F7")); 136 | imgIndex.setImageResource(R.drawable.index1); 137 | imgDongtai.setImageResource(R.drawable.dongtai1); 138 | imgMe.setImageResource(R.drawable.me1); 139 | 140 | break; 141 | case 2: 142 | tv3.setTextColor(Color.parseColor("#0099ff")); 143 | tv1.setTextColor(Color.parseColor("#F7F7F7")); 144 | tv2.setTextColor(Color.parseColor("#F7F7F7")); 145 | imgIndex.setImageResource(R.drawable.index1); 146 | imgDongtai.setImageResource(R.drawable.dongtai); 147 | imgMe.setImageResource(R.drawable.me); 148 | break; 149 | 150 | 151 | } 152 | } 153 | 154 | @Override 155 | public void onPageScrollStateChanged(int state) { 156 | 157 | } 158 | }); 159 | } 160 | 161 | class MyPageAdapter extends FragmentPagerAdapter { 162 | 163 | public MyPageAdapter(@NonNull FragmentManager fm) { 164 | super(fm); 165 | } 166 | 167 | @NonNull 168 | @Override 169 | public Fragment getItem(int position) { 170 | return fragments.get(position); 171 | } 172 | 173 | @Override 174 | public int getCount() { 175 | return fragments.size(); 176 | } 177 | } 178 | } 179 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/RegistActivity.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.util.Log; 8 | import android.view.View; 9 | import android.view.WindowManager; 10 | import android.widget.Button; 11 | import android.widget.EditText; 12 | import android.widget.Toast; 13 | 14 | import com.android.volley.Request; 15 | import com.android.volley.RequestQueue; 16 | import com.android.volley.Response; 17 | import com.android.volley.VolleyError; 18 | import com.android.volley.toolbox.JsonObjectRequest; 19 | import com.android.volley.toolbox.Volley; 20 | 21 | import org.json.JSONException; 22 | import org.json.JSONObject; 23 | 24 | public class RegistActivity extends AppCompatActivity { 25 | private EditText edt_username; 26 | private EditText edt_password; 27 | private EditText edt_address; 28 | private EditText edt_phone; 29 | private Button goLogin; 30 | private Button submit; 31 | @Override 32 | protected void onCreate(Bundle savedInstanceState) { 33 | super.onCreate(savedInstanceState); 34 | setContentView(R.layout.activity_regist); 35 | edt_username=findViewById(R.id.edt_register_username); 36 | edt_password=findViewById(R.id.edt_register_password); 37 | edt_address=findViewById(R.id.edt_register_address); 38 | edt_phone=findViewById(R.id.edt_register_phone); 39 | goLogin=findViewById(R.id.btn_goLogin); 40 | submit=findViewById(R.id.btn_submit); 41 | //透明状态栏           42 | getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 43 | getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 44 | 45 | submit.setOnClickListener(new View.OnClickListener() { 46 | @Override 47 | public void onClick(View view) { 48 | String username = edt_username.getText().toString().trim(); 49 | String password = edt_password.getText().toString().trim(); 50 | String address = edt_address.getText().toString().trim(); 51 | String phone = edt_phone.getText().toString().trim(); 52 | if(username.equals("")||password.equals("")||address.equals("")||phone.equals("")){ 53 | Toast.makeText(RegistActivity.this, "请填写完整", Toast.LENGTH_SHORT).show(); 54 | }else { 55 | JSONObject jsonObject=new JSONObject(); 56 | try { 57 | jsonObject.put("username",username); 58 | jsonObject.put("password",password); 59 | jsonObject.put("address",address); 60 | jsonObject.put("phone",phone); 61 | } catch (JSONException e) { 62 | e.printStackTrace(); 63 | } 64 | String url="http://192.168.1.103:8085/user/register"; 65 | RequestQueue requestQueue=Volley.newRequestQueue(RegistActivity.this); 66 | JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.POST, url,jsonObject, new Response.Listener() { 67 | @Override 68 | public void onResponse(JSONObject jsonObject) { 69 | try { 70 | Log.d("注册信息", jsonObject.toString()); 71 | String msg = jsonObject.getString("msg"); 72 | Toast.makeText(RegistActivity.this, msg, Toast.LENGTH_SHORT).show(); 73 | if(msg.equals("注册成功")){ 74 | JSONObject detail = jsonObject.getJSONObject("detail"); 75 | final String username_login = detail.getString("username"); 76 | goLogin.setOnClickListener(new View.OnClickListener() { 77 | @Override 78 | public void onClick(View view) { 79 | Intent intent=new Intent(RegistActivity.this, LoginActivity.class); 80 | intent.putExtra("username1",username_login); 81 | startActivity(intent); 82 | } 83 | }); 84 | } 85 | } catch (JSONException e) { 86 | e.printStackTrace(); 87 | } 88 | } 89 | }, new Response.ErrorListener() { 90 | @Override 91 | public void onErrorResponse(VolleyError volleyError) { 92 | Toast.makeText(RegistActivity.this, "网络出错", Toast.LENGTH_SHORT).show(); 93 | } 94 | }); 95 | requestQueue.add(jsonObjectRequest); 96 | } 97 | } 98 | }); 99 | 100 | goLogin.setOnClickListener(new View.OnClickListener() { 101 | @Override 102 | public void onClick(View view) { 103 | startActivity(new Intent(RegistActivity.this, LoginActivity.class)); 104 | } 105 | }); 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/UpdateItemActivity.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.media.Image; 7 | import android.os.Bundle; 8 | import android.util.Log; 9 | import android.view.View; 10 | import android.widget.Button; 11 | import android.widget.EditText; 12 | import android.widget.ImageView; 13 | import android.widget.TextView; 14 | import android.widget.Toast; 15 | 16 | import com.android.volley.Request; 17 | import com.android.volley.RequestQueue; 18 | import com.android.volley.Response; 19 | import com.android.volley.VolleyError; 20 | import com.android.volley.toolbox.JsonObjectRequest; 21 | import com.android.volley.toolbox.Volley; 22 | import com.google.gson.JsonObject; 23 | 24 | import org.json.JSONException; 25 | import org.json.JSONObject; 26 | 27 | import java.io.UnsupportedEncodingException; 28 | import java.net.URLEncoder; 29 | 30 | public class UpdateItemActivity extends AppCompatActivity { 31 | private EditText addBookName; 32 | private EditText addBookimg; 33 | private EditText addBookAuthor; 34 | private EditText addBookinfo; 35 | private EditText addBookLianjie; 36 | private Button addBtn; 37 | private ImageView fanhui; 38 | private int id; 39 | @Override 40 | protected void onCreate(Bundle savedInstanceState) { 41 | super.onCreate(savedInstanceState); 42 | setContentView(R.layout.activity_update_item); 43 | addBookName=findViewById(R.id.edt_addBookName); 44 | addBookimg=findViewById(R.id.edt_addBookimg); 45 | addBookAuthor=findViewById(R.id.edt_addBookAuthor); 46 | addBookinfo=findViewById(R.id.edt_addBookInfo); 47 | addBookLianjie=findViewById(R.id.edt_addBookLianjie); 48 | fanhui=findViewById(R.id.img_fanhuiAdd); 49 | addBtn=findViewById(R.id.btn_Add); 50 | 51 | fanhui.setOnClickListener(new View.OnClickListener() { 52 | @Override 53 | public void onClick(View view) { 54 | finish(); 55 | } 56 | }); 57 | /* bundle.putInt("id",id); 58 | bundle.putString("shutu",shutu); 59 | bundle.putString("author",author); 60 | bundle.putString("info",info); 61 | bundle.putString("lianjie",lianjie);*/ 62 | Intent intent=getIntent(); 63 | String name = intent.getStringExtra("name"); 64 | id = Integer.parseInt(intent.getStringExtra("id")); 65 | String shutu=intent.getStringExtra("shutu"); 66 | String author = intent.getStringExtra("author"); 67 | String info = intent.getStringExtra("info"); 68 | String lianjie = intent.getStringExtra("lianjie"); 69 | addBookName.setText(name); 70 | addBookimg.setText(shutu); 71 | addBookAuthor.setText(author); 72 | addBookinfo.setText(info); 73 | addBookLianjie.setText(lianjie); 74 | addBtn.setOnClickListener(new View.OnClickListener() { 75 | @Override 76 | public void onClick(View view) { 77 | String name1 = addBookName.getText().toString().trim(); 78 | String img1 = addBookimg.getText().toString().trim(); 79 | String author1 = addBookAuthor.getText().toString().trim(); 80 | String info1 = addBookinfo.getText().toString().trim(); 81 | String lianjie1 = addBookLianjie.getText().toString().trim(); 82 | if(name1.equals("")||img1.equals("")||author1.equals("")||info1.equals("")||lianjie1.equals("")){ 83 | Toast.makeText(UpdateItemActivity.this, "请填写完整", Toast.LENGTH_SHORT).show(); 84 | }else { 85 | try { 86 | String name11 = URLEncoder.encode(name1, "utf-8"); 87 | String img11 = URLEncoder.encode(img1, "utf-8"); 88 | String author11 = URLEncoder.encode(author1, "utf-8"); 89 | String info11 = URLEncoder.encode(info1, "utf-8"); 90 | String lianjie11 = URLEncoder.encode(lianjie1, "utf-8"); 91 | updateInfo(id,name11,img11,author11,info11,lianjie11); 92 | } catch (UnsupportedEncodingException e) { 93 | e.printStackTrace(); 94 | } 95 | } 96 | } 97 | }); 98 | 99 | 100 | } 101 | 102 | private void updateInfo(int id, String book_name, String shutu, String author, String info, String lianjie) { 103 | JSONObject jsonObject=new JSONObject(); 104 | String url = "http://192.168.1.103:8085/item/updateItem?id=" + id + "&book_name=" + book_name + "&book_img=" + shutu + "&book_author=" + author + "&book_info=" + info + "&book_download=" + lianjie + ""; 105 | 106 | RequestQueue requestQueue= Volley.newRequestQueue(UpdateItemActivity.this); 107 | JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener() { 108 | @Override 109 | public void onResponse(JSONObject jsonObject) { 110 | try { 111 | String info1 = jsonObject.getString("info"); 112 | if(info1.equals("修改成功")){ 113 | Toast.makeText(UpdateItemActivity.this, "修改成功", Toast.LENGTH_SHORT).show(); 114 | }else { 115 | Toast.makeText(UpdateItemActivity.this, "修改失败", Toast.LENGTH_SHORT).show(); 116 | } 117 | } catch (JSONException e) { 118 | e.printStackTrace(); 119 | } 120 | } 121 | }, new Response.ErrorListener() { 122 | @Override 123 | public void onErrorResponse(VolleyError volleyError) { 124 | Log.d("错误", volleyError.toString()); 125 | Toast.makeText(UpdateItemActivity.this, "网络失败", Toast.LENGTH_SHORT).show(); 126 | } 127 | }); 128 | requestQueue.add(jsonObjectRequest); 129 | 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/XiangQingActivity.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.content.Intent; 6 | import android.net.Uri; 7 | import android.os.Bundle; 8 | import android.view.View; 9 | import android.widget.ImageView; 10 | import android.widget.TextView; 11 | 12 | import com.bumptech.glide.Glide; 13 | 14 | public class XiangQingActivity extends AppCompatActivity { 15 | private TextView shuming; 16 | private TextView zuozhe; 17 | private TextView jianjie; 18 | private TextView liulanqi; 19 | private ImageView imgXiangqing; 20 | private String down; 21 | @Override 22 | protected void onCreate(Bundle savedInstanceState) { 23 | super.onCreate(savedInstanceState); 24 | setContentView(R.layout.activity_xiang_qing); 25 | shuming=findViewById(R.id.tv_shuming); 26 | zuozhe=findViewById(R.id.tv_zuozhe); 27 | jianjie=findViewById(R.id.tv_jianjie); 28 | liulanqi=findViewById(R.id.tv_liulanqi); 29 | imgXiangqing=findViewById(R.id.img_imgXiangQing); 30 | Intent intent=getIntent(); 31 | String name = intent.getStringExtra("name"); 32 | String author = intent.getStringExtra("author"); 33 | String jianjieStr= intent.getStringExtra("jianjie"); 34 | down = intent.getStringExtra("down"); 35 | String imgStr = intent.getStringExtra("img"); 36 | shuming.setText("书名:"+name); 37 | zuozhe.setText("作者:"+author); 38 | jianjie.setText("简介:"+jianjieStr); 39 | liulanqi.setText("下载链接:"+down); 40 | Glide.with(XiangQingActivity.this).load(imgStr).into(imgXiangqing); 41 | liulanqi.setOnClickListener(new View.OnClickListener() { 42 | @Override 43 | public void onClick(View view) { 44 | Intent intent1=new Intent(Intent.ACTION_VIEW); 45 | intent1.setData(Uri.parse(down)); 46 | startActivity(intent1); 47 | } 48 | }); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/bean/Book.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook.bean; 2 | 3 | import java.util.List; 4 | 5 | public class Book { 6 | 7 | /** 8 | * currentPage : 1 9 | * pageSize : 10 10 | * totalNum : 8516 11 | * isMore : 1 12 | * totalPage : 852 13 | * items : [{"id":1,"book_name":"PowerPoint 2019 For Dummies","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/PowerPoint-2019-For-Dummies.jpg","book_author":"Doug Lowe","book_info":"Get up and running fast with the PowerPoint 2019 PowerPoint continues to be the go-to tool for business presentations. The software helps anyone who needs to communicate clearly by creating powerful and effective slideshow presentations featuring data in the form of charts, clip art, sound, and video. You\u2026","book_download":"http://file.allitebooks.com/20200323/PowerPoint 2019 For Dummies.pdf","book_FileSize":" 30.9 MB"},{"id":2,"book_name":"Practical Highcharts with Angular","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/Practical-Highcharts-with-Angular.jpg","book_author":"Sourabh Mishra","book_info":"Learn to create stunning animated and interactive charts using Highcharts and Angular. Use and build on your existing knowledge of HTML, CSS, and JavaScript to develop impressive dashboards that will work in all modern browsers. You will learn how to use Highcharts, call backend services for data, and\u2026","book_download":"http://file.allitebooks.com/20200321/Practical Highcharts with Angular.pdf","book_FileSize":" 5.9 MB"},{"id":3,"book_name":"iPad For Seniors For Dummies, 12th Edition","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/iPad-For-Seniors-For-Dummies-12th-Edition.jpg","book_author":"Dwight Spivey","book_info":"Get to know the exciting features of your new iPad! The iPad can do almost anything: entertain you, help you stay in touch with the world, boost your productivity, and more. If you have lots of life experience but are a little less tech savvy, iPad For Seniors For\u2026","book_download":"http://file.allitebooks.com/20200320/iPad For Seniors For Dummies, 12th Edition.epub","book_FileSize":" 35.7 MB"},{"id":4,"book_name":"Impractical Python Projects","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/Impractical-Python-Projects.jpg","book_author":"Lee Vaughan","book_info":"Impractical Python Projects is a collection of fun and educational projects designed to entertain programmers while enhancing their Python skills. It picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you\u2019ll use every day. And to keep things interesting, each\u2026","book_download":"http://file.allitebooks.com/20200319/Impractical Python Projects.pdf","book_FileSize":" 10.2 MB"},{"id":5,"book_name":"Cognitive Virtual Assistants Using Google Dialogflow","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/Cognitive-Virtual-Assistants-Using-Google-Dialogflow.jpg","book_author":"Amit Agrawal","book_info":"Follow a step-by-step, hands-on approach to building production-ready enterprise cognitive virtual assistants using Google Dialogflow. This book provides an overview of the various cognitive technology choices available and takes a deep dive into cognitive virtual agents for handling complex real-life use cases in various industries such as travel\u2026","book_download":"http://file.allitebooks.com/20200318/Cognitive Virtual Assistants Using Google Dialogflow.pdf","book_FileSize":" 6.4 MB"},{"id":6,"book_name":"MySQL 8 Query Performance Tuning","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/MySQL-8-Query-Performance-Tuning.jpg","book_author":"Jesper Wisborg Krogh","book_info":"Identify, analyze, and improve poorly performing queries that damage user experience and lead to lost revenue for your business. This book will help you make query tuning an integral part of your daily routine through a multi-step process that includes monitoring of execution times, identifying candidate queries for\u2026","book_download":"http://file.allitebooks.com/20200318/MySQL 8 Query Performance Tuning.pdf","book_FileSize":" 17.7 MB"},{"id":7,"book_name":"PostgreSQL Configuration","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/PostgreSQL-Configuration.jpg","book_author":"Baji Shaik","book_info":"Obtain all the skills you need to configure and manage a PostgreSQL database. In this book you will begin by installing and configuring PostgreSQL on a server by focusing on system-level parameter settings before installation. You will also look at key post-installation steps to avoid issues in the\u2026","book_download":"http://file.allitebooks.com/20200317/PostgreSQL Configuration.pdf","book_FileSize":" 2.3 MB"},{"id":8,"book_name":"Teach Yourself VISUALLY iPhone 11, 11Pro, and 11 Pro Max, 5th Edition","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/Teach-Yourself-VISUALLY-iPhone-11-11Pro-and-11-Pro-Max-5th-Edition.jpg","book_author":"Guy Hart-Davis","book_info":"Know your new iPhone 11, 11 Pro, and 11 Pro Max from the inside-out with 900 color screen shots! Teach Yourself VISUALLY iPhone is your ultimate guide to getting the most out of your iPhone! Apple\u2019s graphics-driven iOS is perfect for visual learners, so this book uses a visual\u2026","book_download":"http://file.allitebooks.com/20200316/Teach Yourself VISUALLY iPhone 11, 11Pro, and 11 Pro Max, 5th Edition.epub","book_FileSize":" 148 MB"},{"id":9,"book_name":"Head First Go","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/Head-First-Go1-400x461.png","book_author":"Jay McGavren","book_info":"What will you learn from this book? Go makes it easy to build software that\u2019s simple, reliable, and efficient. Andthis book makes it easy for programmers like you to get started. Googledesigned Go for high-performance networking and multiprocessing, but\u2014like Python and JavaScript\u2014the language is easy to read and\u2026","book_download":"http://file.allitebooks.com/20200315/Head First Go.pdf","book_FileSize":" 97.5 MB"},{"id":10,"book_name":"Essential ASP.NET Web Forms Development","book_img":"http://www.allitebooks.org/wp-content/uploads/2020/03/Essential-ASP.NET-Web-Forms-Development.jpg","book_author":"Robert E. Beasley","book_info":"Go from beginner to pro using one of the most effective and widely used technology stacks, Microsoft ASP.NET. Beginning with the basics, you will learn how to create interactive, professional-grade, database-driven web applications in no time, using ASP.NET, C#, SQL, Ajax, and JavaScript. Essential ASP.NET Web Forms Development is\u2026","book_download":"http://file.allitebooks.com/20200314/Essential ASP.NET Web Forms Development.pdf","book_FileSize":" 18.9 MB"}] 14 | */ 15 | 16 | private int currentPage; 17 | private int pageSize; 18 | private int totalNum; 19 | private int isMore; 20 | private int totalPage; 21 | private List items; 22 | 23 | public int getCurrentPage() { 24 | return currentPage; 25 | } 26 | 27 | public void setCurrentPage(int currentPage) { 28 | this.currentPage = currentPage; 29 | } 30 | 31 | public int getPageSize() { 32 | return pageSize; 33 | } 34 | 35 | public void setPageSize(int pageSize) { 36 | this.pageSize = pageSize; 37 | } 38 | 39 | public int getTotalNum() { 40 | return totalNum; 41 | } 42 | 43 | public void setTotalNum(int totalNum) { 44 | this.totalNum = totalNum; 45 | } 46 | 47 | public int getIsMore() { 48 | return isMore; 49 | } 50 | 51 | public void setIsMore(int isMore) { 52 | this.isMore = isMore; 53 | } 54 | 55 | public int getTotalPage() { 56 | return totalPage; 57 | } 58 | 59 | public void setTotalPage(int totalPage) { 60 | this.totalPage = totalPage; 61 | } 62 | 63 | public List getItems() { 64 | return items; 65 | } 66 | 67 | public void setItems(List items) { 68 | this.items = items; 69 | } 70 | 71 | public static class ItemsBean { 72 | /** 73 | * id : 1 74 | * book_name : PowerPoint 2019 For Dummies 75 | * book_img : http://www.allitebooks.org/wp-content/uploads/2020/03/PowerPoint-2019-For-Dummies.jpg 76 | * book_author : Doug Lowe 77 | * book_info : Get up and running fast with the PowerPoint 2019 PowerPoint continues to be the go-to tool for business presentations. The software helps anyone who needs to communicate clearly by creating powerful and effective slideshow presentations featuring data in the form of charts, clip art, sound, and video. You… 78 | * book_download : http://file.allitebooks.com/20200323/PowerPoint 2019 For Dummies.pdf 79 | * book_FileSize : 30.9 MB 80 | */ 81 | 82 | private int id; 83 | private String book_name; 84 | private String book_img; 85 | private String book_author; 86 | private String book_info; 87 | private String book_download; 88 | private String book_FileSize; 89 | 90 | public int getId() { 91 | return id; 92 | } 93 | 94 | public void setId(int id) { 95 | this.id = id; 96 | } 97 | 98 | public String getBook_name() { 99 | return book_name; 100 | } 101 | 102 | public void setBook_name(String book_name) { 103 | this.book_name = book_name; 104 | } 105 | 106 | public String getBook_img() { 107 | return book_img; 108 | } 109 | 110 | public void setBook_img(String book_img) { 111 | this.book_img = book_img; 112 | } 113 | 114 | public String getBook_author() { 115 | return book_author; 116 | } 117 | 118 | public void setBook_author(String book_author) { 119 | this.book_author = book_author; 120 | } 121 | 122 | public String getBook_info() { 123 | return book_info; 124 | } 125 | 126 | public void setBook_info(String book_info) { 127 | this.book_info = book_info; 128 | } 129 | 130 | public String getBook_download() { 131 | return book_download; 132 | } 133 | 134 | public void setBook_download(String book_download) { 135 | this.book_download = book_download; 136 | } 137 | 138 | public String getBook_FileSize() { 139 | return book_FileSize; 140 | } 141 | 142 | public void setBook_FileSize(String book_FileSize) { 143 | this.book_FileSize = book_FileSize; 144 | } 145 | } 146 | } 147 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/fragment/Fragment_dongtai.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook.fragment; 2 | 3 | import android.content.Intent; 4 | import android.os.Bundle; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | import android.widget.LinearLayout; 9 | import android.widget.Toast; 10 | 11 | import androidx.annotation.NonNull; 12 | import androidx.annotation.Nullable; 13 | import androidx.fragment.app.Fragment; 14 | 15 | import com.glc.itbook.AddActivity; 16 | import com.glc.itbook.R; 17 | import com.glc.itbook.UpdateActity; 18 | 19 | public class Fragment_dongtai extends Fragment { 20 | private LinearLayout addBook; 21 | private LinearLayout updateBook; 22 | private String username; 23 | @Nullable 24 | @Override 25 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 26 | return inflater.inflate(R.layout.fragment_dongtai,null); 27 | } 28 | 29 | @Override 30 | public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { 31 | super.onViewCreated(view, savedInstanceState); 32 | addBook=view.findViewById(R.id.ly_addBook); 33 | updateBook=view.findViewById(R.id.ly_updateBook); 34 | 35 | username = getArguments().getString("username"); 36 | 37 | addBook.setOnClickListener(new View.OnClickListener() { 38 | @Override 39 | public void onClick(View view) { 40 | startActivity(new Intent(getActivity(), AddActivity.class)); 41 | } 42 | }); 43 | 44 | updateBook.setOnClickListener(new View.OnClickListener() { 45 | @Override 46 | public void onClick(View view) { 47 | if(username.equals("admin")){ 48 | startActivity(new Intent(getActivity(), UpdateActity.class)); 49 | 50 | }else { 51 | Toast.makeText(getActivity(), "对不起您未有该权限,请联系管理员", Toast.LENGTH_SHORT).show(); 52 | 53 | 54 | } 55 | } 56 | }); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/fragment/Fragment_index.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook.fragment; 2 | 3 | import android.content.Context; 4 | import android.content.Intent; 5 | import android.content.SharedPreferences; 6 | import android.os.Bundle; 7 | import android.util.Log; 8 | import android.view.LayoutInflater; 9 | import android.view.View; 10 | import android.view.ViewGroup; 11 | import android.widget.AdapterView; 12 | import android.widget.BaseAdapter; 13 | import android.widget.Button; 14 | import android.widget.EditText; 15 | import android.widget.ImageView; 16 | import android.widget.ListView; 17 | import android.widget.TextView; 18 | import android.widget.Toast; 19 | 20 | import androidx.annotation.NonNull; 21 | import androidx.annotation.Nullable; 22 | import androidx.fragment.app.Fragment; 23 | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; 24 | 25 | import com.android.volley.Request; 26 | import com.android.volley.RequestQueue; 27 | import com.android.volley.Response; 28 | import com.android.volley.VolleyError; 29 | import com.android.volley.toolbox.JsonObjectRequest; 30 | import com.android.volley.toolbox.Volley; 31 | import com.bumptech.glide.Glide; 32 | import com.glc.itbook.R; 33 | import com.glc.itbook.XiangQingActivity; 34 | import com.glc.itbook.bean.Book; 35 | import com.google.gson.Gson; 36 | 37 | import org.json.JSONObject; 38 | 39 | import java.io.UnsupportedEncodingException; 40 | import java.net.URLEncoder; 41 | 42 | public class Fragment_index extends Fragment { 43 | private ListView mlistView; 44 | private BaseAdapter adapter; 45 | private TextView tvShangye; 46 | private TextView tvNext; 47 | private EditText edtYeMa; 48 | private Button btnTiaozhuan; 49 | private int page = 1; 50 | private TextView tvCurrentPage; 51 | private int totalPage; 52 | private TextView bookName; 53 | private Button souSuo; 54 | 55 | 56 | @Nullable 57 | @Override 58 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 59 | return inflater.inflate(R.layout.fragment_index, null); 60 | } 61 | 62 | 63 | @Override 64 | public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { 65 | super.onViewCreated(view, savedInstanceState); 66 | mlistView = view.findViewById(R.id.menu_list); 67 | tvNext = view.findViewById(R.id.tv_next); 68 | tvShangye = view.findViewById(R.id.tv_shangye); 69 | tvCurrentPage = view.findViewById(R.id.tv_currentPage); 70 | edtYeMa = view.findViewById(R.id.edt_yema); 71 | btnTiaozhuan = view.findViewById(R.id.btn_tiaozhuan); 72 | bookName=view.findViewById(R.id.edt_bookName); 73 | souSuo=view.findViewById(R.id.btn_imgSousuo); 74 | 75 | 76 | 77 | 78 | String bookNameStr = bookName.getText().toString().trim(); 79 | selectFenYe(bookNameStr,1); 80 | //上一页 81 | tvShangye.setOnClickListener(new View.OnClickListener() { 82 | @Override 83 | public void onClick(View view) { 84 | if (page > 1) { 85 | String bookNameStr = bookName.getText().toString().trim(); 86 | try { 87 | String encode = URLEncoder.encode(bookNameStr, "utf-8"); 88 | selectFenYe(encode,--page); 89 | } catch (UnsupportedEncodingException e) { 90 | e.printStackTrace(); 91 | } 92 | } else { 93 | Toast.makeText(getActivity(), "当前第一页", Toast.LENGTH_SHORT).show(); 94 | } 95 | 96 | } 97 | }); 98 | //下一页 99 | tvNext.setOnClickListener(new View.OnClickListener() { 100 | @Override 101 | public void onClick(View view) { 102 | if (page < totalPage) { 103 | String bookNameStr = bookName.getText().toString().trim(); 104 | try { 105 | String encode = URLEncoder.encode(bookNameStr, "utf-8"); 106 | selectFenYe(encode,++page); 107 | } catch (UnsupportedEncodingException e) { 108 | e.printStackTrace(); 109 | } 110 | } else { 111 | Toast.makeText(getActivity(), "到达尾页", Toast.LENGTH_SHORT).show(); 112 | } 113 | } 114 | }); 115 | //跳转页码 116 | btnTiaozhuan.setOnClickListener(new View.OnClickListener() { 117 | @Override 118 | public void onClick(View view) { 119 | page = Integer.parseInt(edtYeMa.getText().toString().trim()); 120 | if (page > 0 && page <= totalPage) { 121 | 122 | String bookNameStr = bookName.getText().toString().trim(); 123 | try { 124 | String encode = URLEncoder.encode(bookNameStr, "utf-8"); 125 | selectFenYe(encode,page); 126 | } catch (UnsupportedEncodingException e) { 127 | e.printStackTrace(); 128 | } 129 | } else { 130 | Toast.makeText(getActivity(), "超过最大页数", Toast.LENGTH_SHORT).show(); 131 | 132 | } 133 | } 134 | }); 135 | 136 | //搜索按钮 137 | souSuo.setOnClickListener(new View.OnClickListener() { 138 | @Override 139 | public void onClick(View view) { 140 | String bookNameStr = bookName.getText().toString().trim(); 141 | try { 142 | String encode = URLEncoder.encode(bookNameStr, "utf-8"); 143 | selectFenYe(encode,1); 144 | } catch (UnsupportedEncodingException e) { 145 | e.printStackTrace(); 146 | } 147 | 148 | } 149 | }); 150 | 151 | } 152 | 153 | //分页搜索显示的数据 -- 默认显示全部 154 | private void selectFenYe(String name,int page){ 155 | JSONObject jsonObject = new JSONObject(); 156 | String url = "http://192.168.1.103:8085/item/findByPageName?name="+name+"¤tPage="+page+"&pageSize=10"; 157 | RequestQueue requestQueue = Volley.newRequestQueue(getActivity()); 158 | JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener() { 159 | @Override 160 | public void onResponse(JSONObject jsonObject) { 161 | 162 | Gson gson = new Gson(); 163 | final Book book = gson.fromJson(jsonObject.toString(), Book.class); 164 | int currentPage = book.getCurrentPage(); 165 | tvCurrentPage.setText("第" + currentPage + "页"); 166 | totalPage = book.getTotalPage(); 167 | adapter = new BaseAdapter() { 168 | @Override 169 | public int getCount() { 170 | return book.getItems().size(); 171 | } 172 | 173 | @Override 174 | public Object getItem(int i) { 175 | return null; 176 | } 177 | 178 | @Override 179 | public long getItemId(int i) { 180 | return 0; 181 | } 182 | 183 | @Override 184 | public View getView(final int i, View view, ViewGroup viewGroup) { 185 | view = View.inflate(getContext(), R.layout.item_booklist, null); 186 | ImageView imageView = view.findViewById(R.id.item_image); 187 | TextView name = view.findViewById(R.id.item_bookName); 188 | final TextView user = view.findViewById(R.id.item_bookUser); 189 | TextView info = view.findViewById(R.id.item_bookInfo); 190 | TextView down = view.findViewById(R.id.item_bookDown); 191 | name.setText("书名:"+book.getItems().get(i).getBook_name()); 192 | user.setText("作者:"+book.getItems().get(i).getBook_author()); 193 | info.setText("简介:"+book.getItems().get(i).getBook_info()); 194 | 195 | mlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 196 | @Override 197 | public void onItemClick(AdapterView adapterView, View view, int i, long l) { 198 | Intent intent=new Intent(getActivity(), XiangQingActivity.class); 199 | Bundle bundle=new Bundle(); 200 | bundle.putString("name",book.getItems().get(i).getBook_name()); 201 | bundle.putString("author",book.getItems().get(i).getBook_author()); 202 | bundle.putString("jianjie",book.getItems().get(i).getBook_info()); 203 | bundle.putString("down",book.getItems().get(i).getBook_download()); 204 | bundle.putString("img",book.getItems().get(i).getBook_img()); 205 | intent.putExtras(bundle); 206 | startActivity(intent); 207 | } 208 | }); 209 | 210 | Glide.with(getContext()).load(book.getItems().get(i).getBook_img()).into(imageView); 211 | 212 | return view; 213 | } 214 | }; 215 | mlistView.setAdapter(adapter); 216 | 217 | } 218 | }, new Response.ErrorListener() { 219 | @Override 220 | public void onErrorResponse(VolleyError volleyError) { 221 | Toast.makeText(getActivity(), "网络出错", Toast.LENGTH_SHORT).show(); 222 | } 223 | }); 224 | requestQueue.add(jsonObjectRequest); 225 | } 226 | } 227 | -------------------------------------------------------------------------------- /ItBook/app/src/main/java/com/glc/itbook/fragment/Fragment_wode.java: -------------------------------------------------------------------------------- 1 | package com.glc.itbook.fragment; 2 | 3 | import android.content.Context; 4 | import android.content.Intent; 5 | import android.content.SharedPreferences; 6 | import android.os.Bundle; 7 | import android.view.LayoutInflater; 8 | import android.view.View; 9 | import android.view.ViewGroup; 10 | import android.widget.Button; 11 | import android.widget.ImageView; 12 | import android.widget.LinearLayout; 13 | import android.widget.TextView; 14 | 15 | import androidx.annotation.NonNull; 16 | import androidx.annotation.Nullable; 17 | import androidx.fragment.app.Fragment; 18 | 19 | import com.bumptech.glide.Glide; 20 | import com.bumptech.glide.load.resource.bitmap.CenterCrop; 21 | import com.glc.itbook.BanBenActivity; 22 | import com.glc.itbook.LoginActivity; 23 | import com.glc.itbook.R; 24 | 25 | import jp.wasabeef.glide.transformations.BlurTransformation; 26 | import jp.wasabeef.glide.transformations.CropCircleTransformation; 27 | 28 | public class Fragment_wode extends Fragment { 29 | 30 | private ImageView hBack; 31 | private ImageView hHead; 32 | private TextView muser_name; 33 | private TextView muser_val; 34 | private Button tuichu; 35 | 36 | private LinearLayout lyBanben; 37 | @Nullable 38 | @Override 39 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 40 | return inflater.inflate(R.layout.fragment_wode,null); 41 | } 42 | 43 | @Override 44 | public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { 45 | super.onViewCreated(view, savedInstanceState); 46 | hBack=view.findViewById(R.id.h_back); 47 | hHead=view.findViewById(R.id.h_head); 48 | muser_name=view.findViewById(R.id.user_name); 49 | muser_val=view.findViewById(R.id.user_val); 50 | tuichu=view.findViewById(R.id.btn_tuichudenglu); 51 | lyBanben=view.findViewById(R.id.ly_banben); 52 | tuichu.setOnClickListener(new View.OnClickListener() { 53 | @Override 54 | public void onClick(View view) { 55 | SharedPreferences sharedPreferences=getActivity().getSharedPreferences("data", Context.MODE_PRIVATE); 56 | SharedPreferences.Editor editor=sharedPreferences.edit(); 57 | editor.clear(); 58 | editor.commit(); 59 | startActivity(new Intent(getActivity(), LoginActivity.class)); 60 | } 61 | }); 62 | 63 | lyBanben.setOnClickListener(new View.OnClickListener() { 64 | @Override 65 | public void onClick(View view) { 66 | startActivity(new Intent(getActivity(), BanBenActivity.class)); 67 | } 68 | }); 69 | 70 | String username = getArguments().getString("username"); 71 | muser_name.setText(username); 72 | String phone = getArguments().getString("phone").replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"); 73 | muser_val.setText(phone); 74 | 75 | Glide.with(getActivity()).load(R.drawable.admin).bitmapTransform(new BlurTransformation(getActivity(),25),new CenterCrop(getActivity())) 76 | .into(hBack); 77 | 78 | Glide.with(getActivity()).load(R.drawable.admin).bitmapTransform(new CropCircleTransformation(getActivity())).into(hHead); 79 | 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 19 | 22 | 25 | 26 | 27 | 28 | 34 | 35 | -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/add.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/admin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/admin.jpg -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/banben.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/banben.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/bg.jpg -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/bg_edit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/bg_edit2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/buttonstyle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/buttonstyle2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/dianhua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/dianhua.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/dongtai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/dongtai.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/dongtai1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/dongtai1.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/index.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/index1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/index1.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/me.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/me1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/me1.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/mima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/mima.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/sousuo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/sousuo.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/updatebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/updatebook.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/youjiantou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/youjiantou.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/drawable/zuojiantou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GAOli-cong/ITBookDemo-springboot-android/a66b3c170ad3a400448d8a185617ba98efbe345f/ItBook/app/src/main/res/drawable/zuojiantou.png -------------------------------------------------------------------------------- /ItBook/app/src/main/res/layout/activity_add.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 13 | 19 | 26 | 27 | 31 | 35 | 41 | 49 | 50 | 54 | 60 | 69 | 70 | 74 | 80 | 89 | 90 | 94 | 100 | 109 | 110 | 115 | 121 | 130 | 131 | 132 | 133 |