package com.example.niuti.ihttpvideoapplication;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import org.cybergarage.http.HTTP;
import org.cybergarage.util.KeyValueEntity;
import org.cybergarage.util.XmlUtil;
import org.cybergarage.util.KeyValueEntity;
import org.cybergarage.util.XmlUtil;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.io.Serializable;
public class LogActivity extends AppCompatActivity {
Button btnAddContent;
EditText log_editText_key;
Button btnSearchContent;
EditText log_editText_value;
Button btnAddContent;
EditText log_editText_key;
Button btnSearchContent;
EditText log_editText_value;
RecyclerView log_Content_View;
LinearLayoutManager log_Content_Layout_Manager;
LinearLayoutManager log_Content_Layout_Manager;
ArrayList<KeyValueEntity> entities;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log);
btnAddContent=(Button)findViewById(R.id.btnAddContent);
log_editText_key=(EditText)findViewById(R.id.log_editText_key);
btnSearchContent=(Button)findViewById(R.id.btnSearchContent);
log_editText_value=(EditText)findViewById(R.id.log_editText_value);
log_editText_value=(EditText)findViewById(R.id.log_editText_value);
log_Content_View=(RecyclerView)findViewById(R.id.log_Content_View);
log_Content_Layout_Manager=new LinearLayoutManager(this);
log_Content_View.setLayoutManager(log_Content_Layout_Manager);
log_Content_View.setHasFixedSize(true);
log_Content_Layout_Manager=new LinearLayoutManager(this);
log_Content_View.setLayoutManager(log_Content_Layout_Manager);
log_Content_View.setHasFixedSize(true);
// add content button clicks
btnAddContent.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
btnAddContent.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
String key=log_editText_key.getText().toString();
String value=log_editText_value.getText().toString();
String value=log_editText_value.getText().toString();
if(key.length()==0||value.length()==0)
{
Toast.makeText(getApplicationContext(),"标题或内容不能为空", Toast.LENGTH_LONG).show();
return;
}
SharedPreferences sp = getSharedPreferences(Helper.sp_niuToolboxApp, Context.MODE_PRIVATE);
String content=sp.getString(Helper.logContent,null);
{
Toast.makeText(getApplicationContext(),"标题或内容不能为空", Toast.LENGTH_LONG).show();
return;
}
SharedPreferences sp = getSharedPreferences(Helper.sp_niuToolboxApp, Context.MODE_PRIVATE);
String content=sp.getString(Helper.logContent,null);
if(content==null) {
entities = new ArrayList<KeyValueEntity>();
}
else {
entities = XmlUtil.serialize2Entities(content);
}
entities = new ArrayList<KeyValueEntity>();
}
else {
entities = XmlUtil.serialize2Entities(content);
}
boolean isExist=false;
for(int index=0;index<entities.size();index++)
{
String entityKey=entities.get(index).getKey();
if(entityKey.equals(key))
{
isExist=true;
break;
}
}
if(!isExist) {
entities.add(new KeyValueEntity(key, value));
SharedPreferences.Editor editor = sp.edit();
editor.putString(Helper.logContent, XmlUtil.serialize2Xml(entities));
editor.commit();
Toast.makeText(getApplicationContext(), "添加成功", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getApplicationContext(), "标题已经存在,无法添加或删除原来数据再添加", Toast.LENGTH_LONG).show();
}
}
});
for(int index=0;index<entities.size();index++)
{
String entityKey=entities.get(index).getKey();
if(entityKey.equals(key))
{
isExist=true;
break;
}
}
if(!isExist) {
entities.add(new KeyValueEntity(key, value));
SharedPreferences.Editor editor = sp.edit();
editor.putString(Helper.logContent, XmlUtil.serialize2Xml(entities));
editor.commit();
Toast.makeText(getApplicationContext(), "添加成功", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getApplicationContext(), "标题已经存在,无法添加或删除原来数据再添加", Toast.LENGTH_LONG).show();
}
}
});
// search content button clicks
btnSearchContent.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
SharedPreferences sp = getSharedPreferences(Helper.sp_niuToolboxApp, Context.MODE_PRIVATE);
String content=sp.getString(Helper.logContent,null);
btnSearchContent.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
SharedPreferences sp = getSharedPreferences(Helper.sp_niuToolboxApp, Context.MODE_PRIVATE);
String content=sp.getString(Helper.logContent,null);
if(content==null) {
entities = null;
Toast.makeText(getApplicationContext(),"查询结果为空", Toast.LENGTH_SHORT).show();
}
else {
entities = XmlUtil.serialize2Entities(content);
entities = null;
Toast.makeText(getApplicationContext(),"查询结果为空", Toast.LENGTH_SHORT).show();
}
else {
entities = XmlUtil.serialize2Entities(content);
String key=log_editText_key.getText().toString();
String value=log_editText_value.getText().toString();
String value=log_editText_value.getText().toString();
//filter
final ArrayList<KeyValueEntity> filterEntities=new ArrayList<KeyValueEntity>();
for(int index=0;index<entities.size();index++)
{
KeyValueEntity entity=entities.get(index);
if(!key.isEmpty())
{
if( entity.getKey().contains(key)) {
if (!value.isEmpty()) {
if (entity.getValue().contains(value))
filterEntities.add(entity);
} else {
filterEntities.add(entity);
}
}
}
else
{
if (!value.isEmpty()) {
if (entity.getValue().contains(value))
filterEntities.add(entity);
} else {
filterEntities.add(entity);
}
}
}
//show data
final ContentAdapter adapter=new ContentAdapter(filterEntities);
adapter.setOnItemClickListener(new ContentAdapter.OnRecyclerViewItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Toast.makeText(getApplicationContext(),"短按了", Toast.LENGTH_SHORT).show();
}
});
adapter.setOnItemLongClickListener(new ContentAdapter.OnRecyclerViewItemLongClickListener() {
@Override
public void onItemLongClick(View view,final int position) {
AlertDialog.Builder builder=new AlertDialog.Builder(LogActivity.this);
builder.setMessage("确认删除吗?");
builder.setTitle("提示");
final ArrayList<KeyValueEntity> filterEntities=new ArrayList<KeyValueEntity>();
for(int index=0;index<entities.size();index++)
{
KeyValueEntity entity=entities.get(index);
if(!key.isEmpty())
{
if( entity.getKey().contains(key)) {
if (!value.isEmpty()) {
if (entity.getValue().contains(value))
filterEntities.add(entity);
} else {
filterEntities.add(entity);
}
}
}
else
{
if (!value.isEmpty()) {
if (entity.getValue().contains(value))
filterEntities.add(entity);
} else {
filterEntities.add(entity);
}
}
}
//show data
final ContentAdapter adapter=new ContentAdapter(filterEntities);
adapter.setOnItemClickListener(new ContentAdapter.OnRecyclerViewItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Toast.makeText(getApplicationContext(),"短按了", Toast.LENGTH_SHORT).show();
}
});
adapter.setOnItemLongClickListener(new ContentAdapter.OnRecyclerViewItemLongClickListener() {
@Override
public void onItemLongClick(View view,final int position) {
AlertDialog.Builder builder=new AlertDialog.Builder(LogActivity.this);
builder.setMessage("确认删除吗?");
builder.setTitle("提示");
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
entities.remove(filterEntities.get(position));
//update SP
SharedPreferences sp = getSharedPreferences(Helper.sp_niuToolboxApp, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString(Helper.logContent, XmlUtil.serialize2Xml(entities));
editor.commit();
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
entities.remove(filterEntities.get(position));
//update SP
SharedPreferences sp = getSharedPreferences(Helper.sp_niuToolboxApp, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString(Helper.logContent, XmlUtil.serialize2Xml(entities));
editor.commit();
//update screen
filterEntities.remove(position);
adapter.notifyDataSetChanged();
}
});
filterEntities.remove(position);
adapter.notifyDataSetChanged();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
});
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
});
log_Content_View.setAdapter(adapter);
}
}
});
}
}
}
}
});
}
}