|
|
|
@ -3,13 +3,16 @@ package com.example.leudaemialikeme.Activity;
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
import android.database.sqlite.SQLiteDatabase;
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
|
import android.util.Log;
|
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.widget.Button;
|
|
|
|
|
import android.widget.EditText;
|
|
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
|
|
|
|
import com.example.leudaemialikeme.Dao.FriendDao;
|
|
|
|
|
import com.example.leudaemialikeme.Dao.MessageDao;
|
|
|
|
|
import com.example.leudaemialikeme.Dao.OwnerDao;
|
|
|
|
|
import com.example.leudaemialikeme.Model.Friend;
|
|
|
|
|
import com.example.leudaemialikeme.Model.Message;
|
|
|
|
|
import com.example.leudaemialikeme.Model.Owner;
|
|
|
|
|
import com.example.leudaemialikeme.Model.User;
|
|
|
|
@ -64,7 +67,7 @@ public class LoginActivity extends BaseActivity {
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
try{
|
|
|
|
|
String url = LoginActivity.SERVER_URL+"?action=login";
|
|
|
|
|
String url = LoginActivity.SERVER_URL+"/main-servlet?action=login";
|
|
|
|
|
String jsonStr= OkHttpUtil.synPost(url, paramMap);
|
|
|
|
|
loginResponse(jsonStr,(String) paramMap.get("username"));
|
|
|
|
|
}catch (Exception e){
|
|
|
|
@ -84,7 +87,9 @@ public class LoginActivity extends BaseActivity {
|
|
|
|
|
owner = dbOwner;
|
|
|
|
|
// ownerInfoSaveToPref(); //记住密码方法
|
|
|
|
|
// 初始化WS链接
|
|
|
|
|
// System.out.println(owner);
|
|
|
|
|
initWebSocket(owner.getNetId());
|
|
|
|
|
Log.d("记录","开始获取未读信息");
|
|
|
|
|
getUnReadMsg();
|
|
|
|
|
}else{
|
|
|
|
|
//如果本地为空则说明是首次登录,则需要发送请求获取用户的个人信息及朋友列表数据存入本地数据库中,再进行存储
|
|
|
|
@ -103,7 +108,8 @@ public class LoginActivity extends BaseActivity {
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
try {
|
|
|
|
|
String url = LoginActivity.SERVER_URL + "?action=firstLogin&username="+username;
|
|
|
|
|
Log.d("用户名",username);
|
|
|
|
|
String url = LoginActivity.SERVER_URL + "/main-servlet?action=firstLogin&username="+username;
|
|
|
|
|
String jsonStr= OkHttpUtil.synGet(url);
|
|
|
|
|
firstLoginResponse(jsonStr);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
@ -134,6 +140,7 @@ public class LoginActivity extends BaseActivity {
|
|
|
|
|
newOwner.setNetId(user.getIduser());
|
|
|
|
|
// newOwner.setName(netUser.getString("name"));
|
|
|
|
|
// newOwner.setImageURL(SERVER_URL+netUser.getString("imagePath"));
|
|
|
|
|
|
|
|
|
|
ownerDao.insert(newOwner); //插入本地数据库
|
|
|
|
|
//
|
|
|
|
|
// if (netFriends!=null && netFriends.size()>0){
|
|
|
|
@ -165,8 +172,9 @@ public class LoginActivity extends BaseActivity {
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
try {
|
|
|
|
|
String url = LoginActivity.SERVER_URL + "?action=getUnReadMsg&username="+username;
|
|
|
|
|
String url = LoginActivity.SERVER_URL + "/main-servlet?action=getUnReadMsg&username="+username;
|
|
|
|
|
String jsonStr= OkHttpUtil.synGet(url);
|
|
|
|
|
Log.d("记录","未读信息获取响应");
|
|
|
|
|
getUnReadMsgResponse(jsonStr);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
@ -187,7 +195,8 @@ public class LoginActivity extends BaseActivity {
|
|
|
|
|
//进行本地消息存储
|
|
|
|
|
List<Message> msgList = gson.fromJson(jsonMap.get("msgList"), new TypeToken <List<Message>>() {}.getType());
|
|
|
|
|
for (int i=0;i<msgList.size();i++){
|
|
|
|
|
Message unReadMsg = (Message) msgList.get(i);
|
|
|
|
|
Message unReadMsg = msgList.get(i);
|
|
|
|
|
// System.out.println(unReadMsg.getSenderNetId());//////////////////////////////
|
|
|
|
|
String content = unReadMsg.getContent();
|
|
|
|
|
int messageType = unReadMsg.getMessageType();
|
|
|
|
|
int receiverId = unReadMsg.getReceiverNetId();
|
|
|
|
@ -195,13 +204,47 @@ public class LoginActivity extends BaseActivity {
|
|
|
|
|
Long createTime = unReadMsg.getCreateTime();
|
|
|
|
|
Message newMessage=new Message(senderId,receiverId,messageType,content,createTime);
|
|
|
|
|
messageDao.insert(newMessage);
|
|
|
|
|
getNewFriendRequest(senderId);
|
|
|
|
|
Log.d("记录","sender:"+senderId+" receiver:"+receiverId);
|
|
|
|
|
}
|
|
|
|
|
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
|
|
|
|
|
startActivity(intent);
|
|
|
|
|
finish();
|
|
|
|
|
}
|
|
|
|
|
// getNewFriends(owner.getUsername());
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
private void getNewFriendRequest(int senderId) {
|
|
|
|
|
new Thread(new Runnable() {
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
try {
|
|
|
|
|
String url = LoginActivity.SERVER_URL + "/main-servlet?action=getNewFriend&senderId="+senderId;
|
|
|
|
|
String jsonStr= OkHttpUtil.synGet(url);
|
|
|
|
|
getNewFriendResponse(jsonStr, senderId);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}).start();
|
|
|
|
|
}
|
|
|
|
|
private void getNewFriendResponse(String jsonStr, int senderId) {
|
|
|
|
|
runOnUiThread(new Runnable() {
|
|
|
|
|
private MessageDao messageDao=new MessageDao();
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
Gson gson = new Gson();
|
|
|
|
|
Map<String, String> jsonMap= gson.fromJson(jsonStr, new TypeToken <Map<String, String>>() {}.getType());
|
|
|
|
|
final String message = jsonMap.get("message");
|
|
|
|
|
if (message.equals("success")){
|
|
|
|
|
//进行本地消息存储
|
|
|
|
|
String username = jsonMap.get("username");
|
|
|
|
|
FriendDao friendDao = new FriendDao();
|
|
|
|
|
if(friendDao.findByNetId(senderId, owner.getNetId())==null){
|
|
|
|
|
Friend friend = new Friend(senderId, username, owner.getNetId());
|
|
|
|
|
friendDao.insert(friend);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|