Skip to content

Commit

Permalink
继续完善存储txt文本功能
Browse files Browse the repository at this point in the history
  • Loading branch information
BoomZhang committed Mar 27, 2019
1 parent 6fe724c commit 048789e
Show file tree
Hide file tree
Showing 13 changed files with 254 additions and 140 deletions.
Binary file modified .idea/caches/gradle_models.ser
Binary file not shown.
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</intent-filter>
</activity>

<activity android:name=".Activity.NewTextActivity"/>
<activity android:name=".Activity.TextActivity"/>
</application>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
package zc.neu.com.securitystorage.Activity;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import zc.neu.com.securitystorage.Adapter.MainFragmentAdapter;
import zc.neu.com.securitystorage.R;

import static zc.neu.com.securitystorage.Util.ConstantUtil.CREAT;
import static zc.neu.com.securitystorage.Util.ConstantUtil.FILE;
import static zc.neu.com.securitystorage.Util.ConstantUtil.IMAGE;
import static zc.neu.com.securitystorage.Util.ConstantUtil.SETTING;
import static zc.neu.com.securitystorage.Util.ConstantUtil.TYPE;

/**
* main界面
*/
Expand All @@ -18,22 +27,12 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
static {
System.loadLibrary("native-lib");
}
//判断Fragment的类型
public static final int FILE = 0;//文本
public static final int IMAGE = 1;//图片
public static final int SETTING = 2;//设置

//新建文本或者查看文本
public static final int CREAT = 0;//新建
public static final int READ = 1;//查看
public static final String TYPE = "type";

private static String TAG = "Main";
private ViewPager mViewPager;
private Button mBtFile,mBtImage,mBtSetting;
private ActionBar mActionBar;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand Down Expand Up @@ -76,4 +75,27 @@ public void onClick(View v) {
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main,menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.main_bt_add:
gotoCreateNewFile();
break;
}
return super.onOptionsItemSelected(item);
}

private void gotoCreateNewFile(){
Intent intent = new Intent(MainActivity.this, TextActivity.class);
intent.putExtra(TYPE,CREAT);
startActivity(intent);
}

}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
package zc.neu.com.securitystorage.Activity;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import zc.neu.com.securitystorage.R;
import zc.neu.com.securitystorage.Util.DateUtil;

import static zc.neu.com.securitystorage.Util.ConstantUtil.CREAT;
import static zc.neu.com.securitystorage.Util.ConstantUtil.MODIFY;
import static zc.neu.com.securitystorage.Util.ConstantUtil.READ;
import static zc.neu.com.securitystorage.Util.ConstantUtil.TYPE;

/**
* 创建时间:2019/2/22
* 作者:zhangchao
* 描述:新建、查看文本的activity
*/
public class TextActivity extends AppCompatActivity implements View.OnClickListener {

private TextView mTvDate;
private TextView mTvTime;
private TextView mTvChNum;
private EditText mEtTitle;
private EditText mEtInput;
private Button mBtBottom;
private ActionBar actionBar;
private int type;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text);
initViews();
}

private void initViews() {

type = getIntent().getIntExtra(TYPE,0);

mTvDate = (TextView)findViewById(R.id.activity_text_data_tv);
mTvTime = (TextView)findViewById(R.id.activity_text_time_tv);
mTvChNum = (TextView)findViewById(R.id.activity_text_sum_tv);
mBtBottom = (Button)findViewById(R.id.activity_text_bottom_bt);
mBtBottom.setOnClickListener(this);

actionBar = this.getSupportActionBar();

mEtTitle = (EditText)findViewById(R.id.activity_text_title_et);
mEtInput = (EditText)findViewById(R.id.activity_text_input_et);
mEtInput.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void afterTextChanged(Editable s) {
mTvChNum.setText(s.toString().length() + "字");
}
});
}

@Override
protected void onStart() {
super.onStart();
mTvDate.setText(DateUtil.getDate());
mTvTime.setText(DateUtil.getTime() + " |");
if(type == CREAT){
actionBar.setTitle(R.string.create);
mBtBottom.setText(R.string.save);
mEtInput.setEnabled(true);
mEtInput.setFocusable(true);
mEtTitle.setEnabled(true);
mEtTitle.setFocusable(true);
}else if(type == READ){
//设置actionBar的title为文件名
mBtBottom.setText(R.string.read);
mEtInput.setEnabled(false);
mEtInput.setFocusable(false);
mEtTitle.setEnabled(false);
mEtTitle.setFocusable(false);
}else if(type == MODIFY){
mBtBottom.setText(R.string.modify);
mEtInput.setEnabled(true);
mEtInput.setFocusable(true);
mEtTitle.setEnabled(true);
mEtTitle.setFocusable(true);
}
}

@Override
protected void onStop() {
super.onStop();
//弹出对话框,询问是否保存文件
}

@Override
public void onClick(View v) {
if(v.getId() == R.id.activity_text_bottom_bt){
saveTextFile();
}
}
//保存text文件的操作
private void saveTextFile() {

}

class SaveAyscTask extends AsyncTask<Integer,Integer,Integer>{
@Override
protected void onPreExecute() {
super.onPreExecute();
mBtBottom.setText(R.string.save_loading);
mBtBottom.setClickable(false);
}

@Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);
mBtBottom.setText(R.string.modify);
mBtBottom.setClickable(true);
}

@Override
protected Integer doInBackground(Integer... integers) {
String title = mEtTitle.getText().toString();
String content = mEtInput.getText().toString();
return null;
}
}

}
13 changes: 6 additions & 7 deletions app/src/main/java/zc/neu/com/securitystorage/Encrypt/AES.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package zc.neu.com.securitystorage.Encrypt;


import java.io.UnsupportedEncodingException;
import java.util.Arrays;
import java.util.Map;
import java.util.concurrent.ArrayBlockingQueue;

import static zc.neu.com.securitystorage.Util.ConstantUtil.CHARSET;

/**
* 封装AES加解密相关的操作
Expand All @@ -21,8 +20,8 @@ public class AES {
*/
public static String encrypStr(String plainText, String key) throws UnsupportedEncodingException {

byte[] text = plainText.getBytes("US-ASCII");
byte[] keybyte = key.getBytes("US-ASCII");
byte[] text = plainText.getBytes(CHARSET);
byte[] keybyte = key.getBytes(CHARSET);
byte[] data = new byte[16];//加密的数据块
byte[] plain;//真正需要加密的明文,包含了结束符

Expand Down Expand Up @@ -60,8 +59,8 @@ public static String encrypStr(String plainText, String key) throws UnsupportedE
*/
public static String decrypStr(String cipherText, String key) throws UnsupportedEncodingException {

byte[] cipher = cipherText.getBytes("US-ASCII");
byte[] keybyte = key.getBytes("US-ASCII");
byte[] cipher = cipherText.getBytes(CHARSET);
byte[] keybyte = key.getBytes(CHARSET);
byte[] data = new byte[16];//解密用的数据块

for(int i = 0; i < cipher.length; i++){
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package zc.neu.com.securitystorage.Util;

/**
* 创建时间:2019/3/27
* 作者:zhangchao
* 描述:收纳全局通用的静态常量
*/
public class ConstantUtil {

//判断Fragment的类型
public static final int FILE = 0;//文本
public static final int IMAGE = 1;//图片
public static final int SETTING = 2;//设置

//新建、查看、修改文本
public static final int CREAT = 0;//新建
public static final int READ = 1;//查看
public static final int MODIFY = 2;//修改

public static final String TYPE = "type";

public static final String CHARSET = "UTF-8";


}
Loading

0 comments on commit 048789e

Please sign in to comment.