您的位置:首页 > 数据库

类似于新论坛、微博实战项目开发包括服务器端和数据库,全部开源

2016-07-20 01:06 525 查看
这里不多说了,直接上项目效果图,这里界面难看了一些,不过功能是可以实现的,改改一点界面就很漂亮了。这里说的实战开发的模块,UI就省了。项目APP下载地址是:链接:http://pan.baidu.com/s/1hs36ZjQ 密码:80ji

如下:



开始是程序的入口 ,这里只分享部分代码,具体看源代码的链接请看最后面的下载地址

package com.nnddkj.communication;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{
private ImageView img_learning,img_answer,img_message,img_Set;
private String name;
private TextView myid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
/**
* 程序初始化操作
*
*/
private void init() {
img_learning=(ImageView) findViewById(R.id.img_learning);//找到控件
img_answer=(ImageView) findViewById(R.id.img_answer);
img_message=(ImageView) findViewById(R.id.img_message);
img_Set=(ImageView) findViewById(R.id.img_Set);
myid=(TextView) findViewById(R.id.myid);
img_learning.setOnClickListener(this);//监听
img_answer.setOnClickListener(this);
img_message.setOnClickListener(this);
img_Set.setOnClickListener(this);

SharedPreferences sp=getSharedPreferences("user_config", Context.MODE_PRIVATE);
String id=sp.getString("name", null);
myid.setText("欢迎你,"+id);

}
@Override
public void onClick(View v) {
int id =v.getId();
switch (id) {
case R.id.img_learning://学习平台
Intent Materials=new Intent();
Materials.setClass(MainActivity.this, LearningMaterials.class);//打开另一个界面
startActivity(Materials);
finish();//隐藏当前界面
break;
case R.id.img_answer://答疑
Intent answer=new Intent();
answer.setClass(MainActivity.this, Answer.class);//打开另一个界面
startActivity(answer);
finish();//隐藏当前界面
break;
case R.id.img_message://留言板
Intent message=new Intent();
message.setClass(MainActivity.this, LeaveMessage.class);//打开另一个界面
startActivity(message);
finish();//隐藏当前界面
break;
case R.id.img_Set://设置
Intent set=new Intent();
set.setClass(MainActivity.this, SetSystem.class);//打开另一个界面
startActivity(set);
finish();//隐藏当前界面
break;

default:
break;
}

}

}


package com.nnddkj.communication;

import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.nnddkj.communication.myadapter.myMessageAdapter;
import com.nnddkj.communication.util.Message_Uil;
import com.nnddkj.model.Model;

public class LeaveMessage extends Activity  implements OnClickListener{
private EditText ed_inputmessage;
private Button btn_submitmessage;
private String name;
private String time,message;
private myMessageAdapter adapter;
private List<Message_Uil> list=new ArrayList<Message_Uil>();
private  ListView list_message;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.leave_message);
init();
}
/**
* 程序初始化操作
*/
private void init() {
ed_inputmessage=(EditText) findViewById(R.id.ed_inputmessage);
btn_submitmessage=(Button) findViewById(R.id.btn_submitmessage);
list_message= (ListView) findViewById(R.id.list_message);
btn_submitmessage.setOnClickListener(this);
//读取保存的用户名
SharedPreferences sp=getSharedPreferences("user_config", Context.MODE_PRIVATE);
name=sp.getString("name", null);
//获取系统时间
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-ddHH:mm:ss",Locale.getDefault());
time=format.format(new Date());
getMessage();
}
/**
* 获取留言信息
*/
private void getMessage() {
String url=Model.MAIN+Model.GET_MESSAGE;
AsyncHttpClient client=new AsyncHttpClient();
client.get(url, new AsyncHttpResponseHandler(){
@Override
public void onSuccess(String datas) {
Log.d("json", datas);
try {
//使用Gson来进行解释数据包
Type type=new TypeToken<LinkedList<Message_Uil>>(){

}.getType();
Gson jsonData=new Gson();
LinkedList<Message_Uil> linked=jsonData.fromJson(datas, type);
for (Iterator iterator=linked.iterator();iterator.hasNext();) {
Message_Uil messageUser=new Message_Uil();
Message_Uil message=(Message_Uil) iterator.next();
messageUser.setName(message.getName());
messageUser.setMessage(message.getMessage());
messageUser.setTime(message.getTime());
list.add(messageUser);//添加 到集合里面

}
//添加到容器里面显示出来
adapter=new myMessageAdapter(LeaveMessage.this,list);
list_message.setAdapter(adapter);
list_message.setDividerHeight(0); //去掉黑线
} catch (Exception e) {
// TODO: handle exception
}

}
@Override
public void onFailure(Throwable arg0) {
Toast.makeText(LeaveMessage.this, "网络错误", Toast.LENGTH_SHORT).show();
super.onFailure(arg0);
}
});

}
@Override
public void onClick(View v) {
int id=v.getId();
switch (id) {
case R.id.btn_submitmessage:
String message=ed_inputmessage.getText().toString();
if(TextUtils.isEmpty(message)){
Toast.makeText(LeaveMessage.this, "内容不能为空", Toast.LENGTH_SHORT).show();
}
httpMessage();
break;

default:
break;
}

}
/**
* 执行提交发布留言信息
*/
private void httpMessage() {
message=ed_inputmessage.getText().toString();
String url=Model.MAIN+Model.LEAVE_MESSAGE+name+Model.MESSAGE+message+Model.TIME+time;
AsyncHttpClient client=new AsyncHttpClient();
client.get(url, new AsyncHttpResponseHandler(){
@Override
public void onSuccess(String arg0) {
Toast.makeText(LeaveMessage.this, "提交成功", Toast.LENGTH_SHORT).show();
finish();
Intent main=new Intent();
main.setClass(LeaveMessage.this, MainActivity.class);
startActivity(main);
}
@Override
public void onFailure(Throwable arg0) {
Toast.makeText(LeaveMessage.this, "网络错误", Toast.LENGTH_SHORT).show();
super.onFailure(arg0);
}
});

}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//这里监听用户按手机返回健  ,隐藏当前界面,返回主界面
finish();
Intent main=new Intent();
main.setClass(LeaveMessage.this, MainActivity.class);
startActivity(main);
return super.onKeyDown(keyCode, event);
}
}

更多的请获取源码加QQ群:QQ群:259157059
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: