Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //class chat
- public class Chat implements Serializable {
- private String id, username, pesan;
- public Chat(String id, String username, String pesan) {
- this.id = id;
- this.username = username;
- this.pesan = pesan;
- }
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPesan() {
- return pesan;
- }
- public void setPesan(String pesan) {
- this.pesan = pesan;
- }
- }
- //class CustomAdapter
- public class CustomAdapter extends ArrayAdapter<Chat> {
- private final Activity context;
- ArrayList<Chat> chats = new ArrayList<>();
- public CustomAdapter(Activity activity, ArrayList<Chat> chats){
- super(activity, R.layout.chat_layout, chats);
- this.context = activity;
- this.chats = chats;
- }
- public View getView(int pos, View view, ViewGroup parent){
- LayoutInflater inflater = context.getLayoutInflater();
- View rowView = inflater.inflate(R.layout.chat_layout, null, true);
- TextView txtPengirim = (TextView) rowView.findViewById(R.id.txtPengirim);
- TextView txtPesan = (TextView) rowView.findViewById(R.id.txtPesan);
- txtPengirim.setText(chats.get(pos).getUsername());
- txtPesan.setText(chats.get(pos).getPesan());
- return rowView;
- }
- }
- //class JsonParser
- public class JsonParser {
- private static InputStream is=null;
- private static String result=null;
- private static String line=null;
- private static JSONObject json_data;
- private static String url;
- public static JSONObject aksesHttp(String urlFromActivity, ArrayList<NameValuePair> nameValuePairs){
- url = "http://ramlivan.esy.es/chat/";
- url += urlFromActivity;
- Log.d("url", url);
- if (android.os.Build.VERSION.SDK_INT > 9) {
- StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
- StrictMode.setThreadPolicy(policy);
- }
- ArrayList<NameValuePair> valuePairs = new ArrayList<>();
- if(nameValuePairs != null){
- valuePairs = nameValuePairs;
- }
- try
- {
- HttpClient httpclient = new DefaultHttpClient();
- HttpPost httppost = new HttpPost(url);
- httppost.setEntity(new UrlEncodedFormEntity(valuePairs));
- HttpResponse response = httpclient.execute(httppost);
- HttpEntity entity = response.getEntity();
- is = entity.getContent();
- Log.e("pass 1", "connection success ");
- }
- catch(Exception e)
- {
- Log.e("Fail 1", e.toString());
- }
- try
- {
- BufferedReader reader = new BufferedReader
- (new InputStreamReader(is,"iso-8859-1"),8);
- StringBuilder sb = new StringBuilder();
- while ((line = reader.readLine()) != null)
- {
- sb.append(line + "\n");
- }
- is.close();
- result = sb.toString();
- Log.e("pass 2", "connection success ");
- }
- catch(Exception e)
- {
- Log.e("Fail 2", e.toString());
- }
- try
- {
- json_data = new JSONObject(result);
- String query = json_data.getString("query");
- Log.d("query", query);
- }
- catch(Exception e)
- {
- Log.e("Fail 3", e.toString());
- }
- return json_data;
- }
- }
- //class user
- public class User implements Serializable{
- private String username, password;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public User(String username, String password) {
- this.username = username;
- this.password = password;
- }
- }
- //ActivityChat
- public class ChatActivity extends AppCompatActivity {
- User olUser;
- ArrayList<Chat> allChat = new ArrayList<>();
- ListView lvChat;
- Button btnKirim;
- EditText editPesan;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_chat);
- olUser = (User) getIntent().getSerializableExtra("olUser");
- lvChat = (ListView) findViewById(R.id.lvChat);
- editPesan = (EditText) findViewById(R.id.editPesan);
- btnKirim = (Button) findViewById(R.id.btnKirim);
- btnKirim.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String username = olUser.getUsername();
- String pesan = editPesan.getText().toString();
- String url = "latuasmobile/sendchat.php";
- ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
- nameValuePairs.add(new BasicNameValuePair("username", username));
- nameValuePairs.add(new BasicNameValuePair("pesan", pesan));
- JSONObject object = JsonParser.aksesHttp(url, nameValuePairs);
- editPesan.setText("");
- }
- });
- reloadChat();
- }
- JSONObject jsonObject;
- private void reloadChat(){
- new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- Thread.sleep(1000);
- String url = "latuasmobile/chat.php";
- allChat = new ArrayList<Chat>();
- jsonObject = JsonParser.aksesHttp(url, null);
- JSONArray allChatJSONArray = jsonObject.getJSONArray("allChat");
- for(int i=0; i<allChatJSONArray.length(); i++){
- JSONObject newJsonObj = allChatJSONArray.getJSONObject(i);
- String id = newJsonObj.getString("id");
- String username = newJsonObj.getString("username");
- String pesan = newJsonObj.getString("pesan");
- allChat.add(new Chat(id, username, pesan));
- }
- ChatActivity.this.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- CustomAdapter adapter;
- adapter = new CustomAdapter(ChatActivity.this, allChat);
- lvChat.setAdapter(adapter);
- lvChat.setSelection(lvChat.getCount());
- }
- });
- reloadChat();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- }).start();
- }
- @Override
- public void onBackPressed() {
- finish();
- }
- }
- //ActivityLogin
- public class LoginActivity extends AppCompatActivity {
- ArrayList<User> allUsers = new ArrayList<>();
- EditText editUsername, editPassword;
- Button btnLogin, btnSignUp;
- User olUser;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- new GetAllDataFromDB().execute();
- editUsername = (EditText) findViewById(R.id.editUsername);
- editPassword = (EditText) findViewById(R.id.editPassword);
- btnLogin = (Button) findViewById(R.id.btnLogin);
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String username = editUsername.getText().toString();
- String password = editPassword.getText().toString();
- int loginFlag = 0;
- for(User idx: allUsers){
- if(username.equals(idx.getUsername()) && password.equals(idx.getPassword())){
- loginFlag = 1;
- olUser = idx;
- break;
- }
- }
- if(loginFlag == 1){
- Log.d("login status", "benar");
- Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
- intent.putExtra("olUser", olUser);
- startActivity(intent);
- } else {
- Log.d("login status", "salah");
- }
- }
- });
- btnSignUp = (Button) findViewById(R.id.btnSignUp);
- btnSignUp.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- startActivity(new Intent(getApplicationContext(), SignUpActivity.class));
- }
- });
- }
- private class GetAllDataFromDB extends AsyncTask<String, String, String>{
- JSONObject jsonObject;
- JSONArray jsonArrayAllUser;
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- allUsers = new ArrayList<>();
- }
- @Override
- protected String doInBackground(String... params) {
- String url = "latuasmobile/login.php";
- jsonObject = JsonParser.aksesHttp(url, null);
- try{
- jsonArrayAllUser = jsonObject.getJSONArray("allUser");
- for(int i=0; i<jsonArrayAllUser.length(); i++){
- JSONObject objFromArr = jsonArrayAllUser.getJSONObject(i);
- String username = objFromArr.getString("username");
- String password = objFromArr.getString("password");
- Log.d("user", username + "-" + password);
- allUsers.add(new User(username, password));
- }
- } catch (Exception ex){
- ex.printStackTrace();
- }
- return null;
- }
- @Override
- protected void onPostExecute(String s) {
- super.onPostExecute(s);
- }
- }
- }
- //ActivityMain
- public class MainActivity extends AppCompatActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater menuInflater = new MenuInflater(MainActivity.this);
- menuInflater.inflate(R.menu.menu_login, menu);
- return true;
- //return super.onCreateOptionsMenu(menu);
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if(item.getItemId() == R.id.menuLogin){
- startActivity(new Intent(getApplicationContext(), LoginActivity.class));
- }
- return super.onOptionsItemSelected(item);
- }
- }
- //ActivityMenu
- public class MenuActivity extends AppCompatActivity {
- User olUser;
- Button btnChat, btnLogout;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_menu);
- olUser = (User) getIntent().getSerializableExtra("olUser");
- btnChat = (Button) findViewById(R.id.btnChat);
- btnChat.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getApplicationContext(), ChatActivity.class);
- intent.putExtra("olUser", olUser);
- startActivity(intent);
- }
- });
- btnLogout = (Button) findViewById(R.id.btnLogout);
- btnLogout.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- }
- @Override
- public void onBackPressed() {
- finish();
- }
- }
- //ActivitySignUp
- public class SignUpActivity extends AppCompatActivity {
- EditText editUsername, editPassword;
- Button btnCancel, btnSignUp;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_sign_up);
- editUsername = (EditText) findViewById(R.id.editUsername);
- editPassword = (EditText) findViewById(R.id.editPassword);
- btnSignUp = (Button) findViewById(R.id.btnSignUp);
- btnSignUp.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String username = editUsername.getText().toString();
- String password = editPassword.getText().toString();
- ArrayList<NameValuePair> valuePairs = new ArrayList<NameValuePair>();
- valuePairs.add(new BasicNameValuePair("username", username));
- valuePairs.add(new BasicNameValuePair("password", password));
- JSONObject obj = JsonParser.aksesHttp("latuasmobile/signup.php", valuePairs);
- finish();
- }
- });
- btnCancel = (Button) findViewById(R.id.btnCancel);
- btnCancel.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- }
- @Override
- public void onBackPressed() {
- finish();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement