*突然发现之前git上去是全部文件,修改文件和添加文件,可能导致git log被覆盖,这个文件中的内容就是我git上去打的log*

**正题:**

应该定制一个标准,先设计好我要在网络上传输什么数据

1.关于核心功能 查询密码 使用到的参数是function=query&md5=xxx

​							插入密码,使用到的参数是function=xxx&md5=xxx&pwd=xxx

2.关于bug提交,使用到的参数是function=subBug&softVer=xxx&andrVer=xxx&bug=xxxxxx

3.关于软件更新,检查版本,使用到的参数是function=check&softVer=xxx

然后考虑以后可能要扩充的功能,参数名还是抽象点,直接叫para0,para1......

所以后端代码就要进行修改

**2021/6/10**

修改了后端的代码,后端只会返回两种数据,一种是普通字符串,android端获取后会toast出来,另一种是json字符串,如果是json字符串就解析,然后对数据库进行相应的操作.

然后就完成了bug反馈的功能

写完后端和完成bug反馈功能后就发现,自定义的Handler的功能似乎写死了,不能针对不同的界面进行对应的操作,也不是说不行,只是看上去会有点乱,所以,handler处理msg也要制定一个规范
master
ThankVinci 4 years ago
parent 40dc5a8464
commit ac26f754af

@ -11,7 +11,7 @@ android {
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
versionName "1.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

@ -6,14 +6,13 @@
android:allowBackup="true"
android:icon="@mipmap/icon"
android:label="@string/app_name"
android:roundIcon="@mipmap/icon"
android:roundIcon="@mipmap/icon_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

@ -1,5 +1,11 @@
package com.thankvinci.CloudKey.Fragment;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import com.thankvinci.CloudKey.R;
@ -8,4 +14,25 @@ public class AboutFragment extends Fragment {
public AboutFragment(){
super(R.layout.about_fragment);
}
@Override
public void onViewCreated(View view, Bundle saveInstanceState){
super.onViewCreated(view,saveInstanceState);
TextView verText = view.findViewById(R.id.text_version);
verText.setText("v"+getAppInfo());
}
private String getAppInfo(){
String version = "";
try {
PackageManager pm = getActivity().getPackageManager();
PackageInfo pi = pm.getPackageInfo(getActivity().getPackageName(), 0);
version = pi.versionName;
} catch (Exception e) {
e.printStackTrace();
}
if (version == null || version.length() <= 0) {
version = "";
}
return version;
}
}

@ -3,6 +3,8 @@ package com.thankvinci.CloudKey.Fragment;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
@ -10,6 +12,8 @@ import android.widget.Toast;
import androidx.fragment.app.Fragment;
import com.thankvinci.CloudKey.NetUtils.NetHandler;
import com.thankvinci.CloudKey.NetUtils.NetThread;
import com.thankvinci.CloudKey.R;
public class BugSubFragment extends Fragment {
@ -20,6 +24,7 @@ public class BugSubFragment extends Fragment {
public void onViewCreated(View view, Bundle saveInstanceState){
super.onViewCreated(view,saveInstanceState);
Toast.makeText(getActivity(),"版本信息如若有误可以修改哦~",Toast.LENGTH_LONG).show();
EditText softVerEdit = view.findViewById(R.id.soft_ver);
EditText andrVerEdit = view.findViewById(R.id.android_ver);
EditText bugEdit = view.findViewById(R.id.bug_edit);
@ -38,8 +43,26 @@ public class BugSubFragment extends Fragment {
Toast.makeText(getActivity(),"一定要全部填写完才能提交哦~",Toast.LENGTH_SHORT).show();
return ;
}
Toast.makeText(getActivity(),"感谢反馈(⑉°з°)-♡",Toast.LENGTH_SHORT).show();
Handler handler = new NetHandler(getActivity()){
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case -1:
Toast.makeText(getActivity(),msg.getData().getString("ReturnData"),Toast.LENGTH_SHORT).show();
break;
}
}
};
StringBuilder builder = new StringBuilder();
builder.append("http://1.14.144.194:8080/cscp/cscp?para0=subBug&para1=");
builder.append(softVer);
builder.append("&para2=");
builder.append(andrVer);
builder.append("&para3=");
builder.append(bug);
String url = builder.toString();
Thread t = new Thread(new NetThread(handler,url));
t.start();
}
});
}

@ -1,5 +1,6 @@
package com.thankvinci.CloudKey.NetUtils;
import android.app.Activity;
import android.os.Handler;
import android.os.Message;
import android.widget.Toast;
@ -8,8 +9,8 @@ import com.thankvinci.CloudKey.MainActivity;
public class NetHandler extends Handler {
private MainActivity activity;
public NetHandler(MainActivity activity){
private Activity activity;
public NetHandler(Activity activity){
this.activity = activity;
}
@Override

@ -19,15 +19,24 @@ import java.net.URL;
public class NetThread implements Runnable {
Handler handler;
public NetThread(Handler handler){
String strUrl;
public NetThread(Handler handler,String strUrl){
this.handler = handler;
this.strUrl = strUrl;
}
@Override
public void run(){
Message msg = new Message();
String data = getNetWork("http://1.14.144.194:8080/cscp/cscp?function=query&MD5=123456789abcdef0123456789abcd4f0");
JSONObject jsonObject = JSON.parseObject(data);
String data = getNetWork(strUrl);
Bundle dataPackage = new Bundle();
if (data.equals("查无结果") || data.equals("反馈成功,感谢支持") || data.equals("反馈失败,请稍后重试") || data.equals("查询失败") || data.equals("插入失败") || data.equals("无效参数")){
msg.what = -1;
dataPackage.putString("ReturnData",data);
msg.setData(dataPackage);
handler.sendMessage(msg);
return ;
}
JSONObject jsonObject = JSON.parseObject(data);
dataPackage.putString("key",jsonObject.getString("pwd"));
msg.what = 0;
msg.setData(dataPackage);

@ -3,6 +3,28 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Fragment.AboutFragment">
<ImageView
android:layout_width="64dp"
android:layout_height="64dp"
android:id="@+id/icon_about"
android:src="@mipmap/icon_round"
tools:ignore="MissingConstraints"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="50dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_version"
android:text=""
android:textSize="18dp"
tools:ignore="MissingConstraints"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/icon_about"
android:layout_marginTop="10dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>

@ -1,5 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/fileManageFragment" android:title="文件"></item>
<item android:id="@+id/aboutFragment" android:title="关于我们"></item>
<item android:id="@+id/file" android:title="文件" android:color="@color/black">
<menu>
<item android:id="@+id/fileManageFragment" android:title="我的文件"></item>
</menu>
</item>
<item android:id="@+id/bugSubFragment" android:title="提交bug"></item>
<item android:id="@+id/aboutFragment" android:title="关于"></item>
</menu>

@ -7,11 +7,16 @@
<fragment
android:id="@+id/fileManageFragment"
android:name="com.thankvinci.CloudKey.Fragment.FileManageFragment"
android:label="filemanagefragment"
android:label="目录"
tools:layout="@layout/filemanage_fragment" />
<fragment
android:id="@+id/aboutFragment"
android:name="com.thankvinci.CloudKey.Fragment.AboutFragment"
android:label="about_fragment"
android:label="关于我们"
tools:layout="@layout/about_fragment" />
<fragment
android:id="@+id/bugSubFragment"
android:name="com.thankvinci.CloudKey.Fragment.BugSubFragment"
android:label="BUG提交"
tools:layout="@layout/bug_sub_fragment" />
</navigation>

@ -17,3 +17,5 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
android.injected.testOnly=false
android.overridePathCheck=true

@ -132,3 +132,37 @@ private String queryPassword(PrintWriter writer, Connection conn, String filemd5
implementation 'androidx.navigation:navigation-fragment:2.2.2'
implementation 'androidx.navigation:navigation-ui:2.2.2'
**2021/6/9**
突然决定应该增加一个提交bug的功能(提交时间,版本号,Android版本,bug说明)
突然决定应该增加一个手动查密码的功能,即,可能用户需要用来解压的文件可能过大,在我优化没做好的情况下,可能会有bug导致无法读取md5码值或者无法解压的情况,用户可以在其他设备中获取待解压文件的md5值,手动在本软件中查询,即提供一个查询的功能
先完成一个提交bug的功能,数据库的表已经建成(提交时间,软件版本,Android版本,bug说明)
完成页面布局和基本逻辑设计后发现在创建线程的部分之前设计写死了传输的数据内容,需要重新设计
**2021/6/9**
*突然发现之前git上去是全部文件,修改文件和添加文件,可能导致git log被覆盖,这个文件中的内容就是我git上去打的log*
**正题:**
应该定制一个标准,先设计好我要在网络上传输什么数据
1.关于核心功能 查询密码 使用到的参数是function=query&md5=xxx
插入密码,使用到的参数是function=xxx&md5=xxx&pwd=xxx
2.关于bug提交,使用到的参数是function=subBug&softVer=xxx&andrVer=xxx&bug=xxxxxx
3.关于软件更新,检查版本,使用到的参数是function=check&softVer=xxx
然后考虑以后可能要扩充的功能,参数名还是抽象点,直接叫para0,para1......
所以后端代码就要进行修改
**2021/6/10**
修改了后端的代码,后端只会返回两种数据,一种是普通字符串,android端获取后会toast出来,另一种是json字符串,如果是json字符串就解析,然后对数据库进行相应的操作.
Loading…
Cancel
Save