diff --git a/CloudKey/app/build.gradle b/CloudKey/app/build.gradle index 79c5de7..f9f5dab 100644 --- a/CloudKey/app/build.gradle +++ b/CloudKey/app/build.gradle @@ -33,6 +33,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 'androidx.navigation:navigation-fragment:2.2.2' + implementation 'androidx.navigation:navigation-ui:2.2.2' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' diff --git a/CloudKey/app/src/main/AndroidManifest.xml b/CloudKey/app/src/main/AndroidManifest.xml index 9eb9029..364e8f1 100644 --- a/CloudKey/app/src/main/AndroidManifest.xml +++ b/CloudKey/app/src/main/AndroidManifest.xml @@ -4,9 +4,9 @@ diff --git a/CloudKey/app/src/main/java/com/thankvinci/CloudKey/Fragment/AboutFragment.java b/CloudKey/app/src/main/java/com/thankvinci/CloudKey/Fragment/AboutFragment.java new file mode 100644 index 0000000..419f010 --- /dev/null +++ b/CloudKey/app/src/main/java/com/thankvinci/CloudKey/Fragment/AboutFragment.java @@ -0,0 +1,11 @@ +package com.thankvinci.CloudKey.Fragment; + +import androidx.fragment.app.Fragment; + +import com.thankvinci.CloudKey.R; + +public class AboutFragment extends Fragment { + public AboutFragment(){ + super(R.layout.about_fragment); + } +} diff --git a/CloudKey/app/src/main/java/com/thankvinci/CloudKey/Fragment/FileManageFragment.java b/CloudKey/app/src/main/java/com/thankvinci/CloudKey/Fragment/FileManageFragment.java new file mode 100644 index 0000000..9f194b6 --- /dev/null +++ b/CloudKey/app/src/main/java/com/thankvinci/CloudKey/Fragment/FileManageFragment.java @@ -0,0 +1,18 @@ +package com.thankvinci.CloudKey.Fragment; + +import android.os.Bundle; +import android.view.View; + +import androidx.fragment.app.Fragment; + +import com.thankvinci.CloudKey.R; + +public class FileManageFragment extends Fragment { + public FileManageFragment(){ + super(R.layout.filemanage_fragment); + } + @Override + public void onViewCreated(View view,Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + } +} diff --git a/CloudKey/app/src/main/java/com/thankvinci/CloudKey/MainActivity.java b/CloudKey/app/src/main/java/com/thankvinci/CloudKey/MainActivity.java index 7b36e41..d71d299 100644 --- a/CloudKey/app/src/main/java/com/thankvinci/CloudKey/MainActivity.java +++ b/CloudKey/app/src/main/java/com/thankvinci/CloudKey/MainActivity.java @@ -1,29 +1,43 @@ package com.thankvinci.CloudKey; import androidx.appcompat.app.AppCompatActivity; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.navigation.NavController; +import androidx.navigation.fragment.NavHostFragment; +import androidx.navigation.ui.AppBarConfiguration; +import androidx.navigation.ui.NavigationUI; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.TextView; +import com.google.android.material.navigation.NavigationView; import com.thankvinci.CloudKey.NetUtils.NetHandler; import com.thankvinci.CloudKey.NetUtils.NetThread; public class MainActivity extends AppCompatActivity { - + private NavHostFragment navHostFragment; + private NavController navController; + private AppBarConfiguration appBarConfiguration; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + //声明一个Handler Handler handler = new NetHandler(this); - TextView textView = findViewById(R.id.text); - textView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Thread t = new Thread(new NetThread(handler)); - t.start(); - } - }); + //加载NavGraph + navHostFragment = (NavHostFragment)getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment); + navController = navHostFragment.getNavController(); + DrawerLayout drawerLayout = findViewById(R.id.drawLayout); + appBarConfiguration = new AppBarConfiguration.Builder(R.id.fileManageFragment).setDrawerLayout(drawerLayout).build(); + NavigationUI.setupActionBarWithNavController(this,navController,appBarConfiguration); + NavigationView navigationView = findViewById(R.id.nav_view); + NavigationUI.setupWithNavController(navigationView,navController); + } + + @Override + public boolean onSupportNavigateUp() { + return NavigationUI.navigateUp(navController,appBarConfiguration)||super.onSupportNavigateUp(); } } \ No newline at end of file diff --git a/CloudKey/app/src/main/res/drawable/directory.png b/CloudKey/app/src/main/res/drawable/directory.png new file mode 100644 index 0000000..dc6f853 Binary files /dev/null and b/CloudKey/app/src/main/res/drawable/directory.png differ diff --git a/CloudKey/app/src/main/res/drawable/file.png b/CloudKey/app/src/main/res/drawable/file.png new file mode 100644 index 0000000..cbbfc53 Binary files /dev/null and b/CloudKey/app/src/main/res/drawable/file.png differ diff --git a/CloudKey/app/src/main/res/drawable/zip.png b/CloudKey/app/src/main/res/drawable/zip.png new file mode 100644 index 0000000..89a37b6 Binary files /dev/null and b/CloudKey/app/src/main/res/drawable/zip.png differ diff --git a/CloudKey/app/src/main/res/layout/about_fragment.xml b/CloudKey/app/src/main/res/layout/about_fragment.xml new file mode 100644 index 0000000..3dac408 --- /dev/null +++ b/CloudKey/app/src/main/res/layout/about_fragment.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/CloudKey/app/src/main/res/layout/activity_main.xml b/CloudKey/app/src/main/res/layout/activity_main.xml index b1f29a6..01ca0c6 100644 --- a/CloudKey/app/src/main/res/layout/activity_main.xml +++ b/CloudKey/app/src/main/res/layout/activity_main.xml @@ -1,19 +1,23 @@ - - - + - - \ No newline at end of file + android:layout_height="match_parent" + android:layout_gravity="start" + android:fitsSystemWindows="true" + app:menu="@menu/nav_menu"/> + \ No newline at end of file diff --git a/CloudKey/app/src/main/res/layout/filemanage_fragment.xml b/CloudKey/app/src/main/res/layout/filemanage_fragment.xml new file mode 100644 index 0000000..2e7c27a --- /dev/null +++ b/CloudKey/app/src/main/res/layout/filemanage_fragment.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/CloudKey/app/src/main/res/menu/nav_menu.xml b/CloudKey/app/src/main/res/menu/nav_menu.xml new file mode 100644 index 0000000..48acfb4 --- /dev/null +++ b/CloudKey/app/src/main/res/menu/nav_menu.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/CloudKey/app/src/main/res/mipmap-xxxhdpi/icon.png b/CloudKey/app/src/main/res/mipmap-xxxhdpi/icon.png new file mode 100644 index 0000000..a760fa3 Binary files /dev/null and b/CloudKey/app/src/main/res/mipmap-xxxhdpi/icon.png differ diff --git a/CloudKey/app/src/main/res/navigation/nav_graph.xml b/CloudKey/app/src/main/res/navigation/nav_graph.xml new file mode 100644 index 0000000..dec4b02 --- /dev/null +++ b/CloudKey/app/src/main/res/navigation/nav_graph.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/开发历程.md b/开发历程.md index b226def..e81ad1d 100644 --- a/开发历程.md +++ b/开发历程.md @@ -122,4 +122,13 @@ private String queryPassword(PrintWriter writer, Connection conn, String filemd5 在这里,Web端print的是一个json型的字符串,所以Android端接受到这个字符串要进行解析,这里使用的是alibaba的fastjson库:implementation group: 'com.alibaba', name: 'fastjson', version: '1.2.75' -经过测试,成功Toast出数据库中对应md5码的pwd \ No newline at end of file +经过测试,成功Toast出数据库中对应md5码的pwd + +**2021/6/8** + +为APP添加navgraph,侧边栏的菜单,图标等 + +使用到的库 + +implementation 'androidx.navigation:navigation-fragment:2.2.2' +implementation 'androidx.navigation:navigation-ui:2.2.2' \ No newline at end of file