SHARE
TWEET

Untitled

a guest Jun 14th, 2017 93 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //class chat
  2. public class Chat implements Serializable {
  3.     private String id, username, pesan;
  4.  
  5.     public Chat(String id, String username, String pesan) {
  6.         this.id = id;
  7.         this.username = username;
  8.         this.pesan = pesan;
  9.     }
  10.  
  11.     public String getId() {
  12.         return id;
  13.     }
  14.  
  15.     public void setId(String id) {
  16.         this.id = id;
  17.     }
  18.  
  19.     public String getUsername() {
  20.         return username;
  21.     }
  22.  
  23.     public void setUsername(String username) {
  24.         this.username = username;
  25.     }
  26.  
  27.     public String getPesan() {
  28.         return pesan;
  29.     }
  30.  
  31.     public void setPesan(String pesan) {
  32.         this.pesan = pesan;
  33.     }
  34. }
  35.  
  36. //class CustomAdapter
  37. public class CustomAdapter extends ArrayAdapter<Chat> {
  38.     private final Activity context;
  39.     ArrayList<Chat> chats = new ArrayList<>();
  40.  
  41.     public CustomAdapter(Activity activity, ArrayList<Chat> chats){
  42.         super(activity, R.layout.chat_layout, chats);
  43.         this.context = activity;
  44.         this.chats = chats;
  45.     }
  46.  
  47.     public View getView(int pos, View view, ViewGroup parent){
  48.         LayoutInflater inflater = context.getLayoutInflater();
  49.         View rowView = inflater.inflate(R.layout.chat_layout, null, true);
  50.  
  51.         TextView txtPengirim = (TextView) rowView.findViewById(R.id.txtPengirim);
  52.         TextView txtPesan = (TextView) rowView.findViewById(R.id.txtPesan);
  53.  
  54.         txtPengirim.setText(chats.get(pos).getUsername());
  55.         txtPesan.setText(chats.get(pos).getPesan());
  56.         return rowView;
  57.     }
  58. }
  59.  
  60. //class JsonParser
  61. public class JsonParser {
  62.     private static InputStream is=null;
  63.     private static String result=null;
  64.     private static String line=null;
  65.     private static JSONObject json_data;
  66.     private static String url;
  67.  
  68.     public static JSONObject aksesHttp(String urlFromActivity, ArrayList<NameValuePair> nameValuePairs){
  69.         url = "http://ramlivan.esy.es/chat/";
  70.         url += urlFromActivity;
  71.         Log.d("url", url);
  72.         if (android.os.Build.VERSION.SDK_INT > 9) {
  73.             StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
  74.             StrictMode.setThreadPolicy(policy);
  75.         }
  76.         ArrayList<NameValuePair> valuePairs = new ArrayList<>();
  77.         if(nameValuePairs != null){
  78.             valuePairs = nameValuePairs;
  79.         }
  80.         try
  81.         {
  82.             HttpClient httpclient = new DefaultHttpClient();
  83.             HttpPost httppost = new HttpPost(url);
  84.             httppost.setEntity(new UrlEncodedFormEntity(valuePairs));
  85.             HttpResponse response = httpclient.execute(httppost);
  86.             HttpEntity entity = response.getEntity();
  87.             is = entity.getContent();
  88.             Log.e("pass 1", "connection success ");
  89.         }
  90.         catch(Exception e)
  91.         {
  92.             Log.e("Fail 1", e.toString());
  93.         }
  94.  
  95.         try
  96.         {
  97.             BufferedReader reader = new BufferedReader
  98.                     (new InputStreamReader(is,"iso-8859-1"),8);
  99.             StringBuilder sb = new StringBuilder();
  100.             while ((line = reader.readLine()) != null)
  101.             {
  102.                 sb.append(line + "\n");
  103.             }
  104.             is.close();
  105.             result = sb.toString();
  106.             Log.e("pass 2", "connection success ");
  107.         }
  108.         catch(Exception e)
  109.         {
  110.             Log.e("Fail 2", e.toString());
  111.         }
  112.  
  113.         try
  114.         {
  115.             json_data = new JSONObject(result);
  116.             String query = json_data.getString("query");
  117.             Log.d("query", query);
  118.         }
  119.         catch(Exception e)
  120.         {
  121.             Log.e("Fail 3", e.toString());
  122.         }
  123.         return json_data;
  124.     }
  125. }
  126.  
  127. //class user
  128. public class User implements Serializable{
  129.     private String username, password;
  130.  
  131.     public String getUsername() {
  132.         return username;
  133.     }
  134.  
  135.     public void setUsername(String username) {
  136.         this.username = username;
  137.     }
  138.  
  139.     public String getPassword() {
  140.         return password;
  141.     }
  142.  
  143.     public void setPassword(String password) {
  144.         this.password = password;
  145.     }
  146.  
  147.     public User(String username, String password) {
  148.  
  149.         this.username = username;
  150.         this.password = password;
  151.     }
  152. }
  153.  
  154. //ActivityChat
  155. public class ChatActivity extends AppCompatActivity {
  156.     User olUser;
  157.     ArrayList<Chat> allChat = new ArrayList<>();
  158.  
  159.     ListView lvChat;
  160.     Button btnKirim;
  161.     EditText editPesan;
  162.  
  163.  
  164.  
  165.     @Override
  166.     protected void onCreate(Bundle savedInstanceState) {
  167.         super.onCreate(savedInstanceState);
  168.         setContentView(R.layout.activity_chat);
  169.  
  170.         olUser = (User) getIntent().getSerializableExtra("olUser");
  171.  
  172.         lvChat = (ListView) findViewById(R.id.lvChat);
  173.         editPesan = (EditText) findViewById(R.id.editPesan);
  174.         btnKirim = (Button) findViewById(R.id.btnKirim);
  175.  
  176.         btnKirim.setOnClickListener(new View.OnClickListener() {
  177.             @Override
  178.             public void onClick(View v) {
  179.                 String username = olUser.getUsername();
  180.                 String pesan = editPesan.getText().toString();
  181.                 String url = "latuasmobile/sendchat.php";
  182.                 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
  183.                 nameValuePairs.add(new BasicNameValuePair("username", username));
  184.                 nameValuePairs.add(new BasicNameValuePair("pesan", pesan));
  185.                 JSONObject object = JsonParser.aksesHttp(url, nameValuePairs);
  186.                 editPesan.setText("");
  187.             }
  188.         });
  189.  
  190.         reloadChat();
  191.     }
  192.  
  193.     JSONObject jsonObject;
  194.     private void reloadChat(){
  195.         new Thread(new Runnable() {
  196.             @Override
  197.             public void run() {
  198.                 try {
  199.                     Thread.sleep(1000);
  200.                     String url = "latuasmobile/chat.php";
  201.                     allChat = new ArrayList<Chat>();
  202.                     jsonObject = JsonParser.aksesHttp(url, null);
  203.                     JSONArray allChatJSONArray = jsonObject.getJSONArray("allChat");
  204.                     for(int i=0; i<allChatJSONArray.length(); i++){
  205.                         JSONObject newJsonObj = allChatJSONArray.getJSONObject(i);
  206.                         String id = newJsonObj.getString("id");
  207.                         String username = newJsonObj.getString("username");
  208.                         String pesan = newJsonObj.getString("pesan");
  209.                         allChat.add(new Chat(id, username, pesan));
  210.                     }
  211.  
  212.                     ChatActivity.this.runOnUiThread(new Runnable() {
  213.                         @Override
  214.                         public void run() {
  215.                             CustomAdapter adapter;
  216.                             adapter = new CustomAdapter(ChatActivity.this, allChat);
  217.                             lvChat.setAdapter(adapter);
  218.                             lvChat.setSelection(lvChat.getCount());
  219.                         }
  220.                     });
  221.                     reloadChat();
  222.                 } catch (InterruptedException e) {
  223.                     e.printStackTrace();
  224.                 } catch (JSONException e) {
  225.                     e.printStackTrace();
  226.                 }
  227.             }
  228.         }).start();
  229.  
  230.     }
  231.     @Override
  232.     public void onBackPressed() {
  233.         finish();
  234.     }
  235. }
  236.  
  237. //ActivityLogin
  238. public class LoginActivity extends AppCompatActivity {
  239.     ArrayList<User> allUsers = new ArrayList<>();
  240.  
  241.     EditText editUsername, editPassword;
  242.     Button btnLogin, btnSignUp;
  243.     User olUser;
  244.     @Override
  245.     protected void onCreate(Bundle savedInstanceState) {
  246.         super.onCreate(savedInstanceState);
  247.         setContentView(R.layout.activity_login);
  248.  
  249.         new GetAllDataFromDB().execute();
  250.  
  251.         editUsername = (EditText) findViewById(R.id.editUsername);
  252.         editPassword = (EditText) findViewById(R.id.editPassword);
  253.         btnLogin = (Button) findViewById(R.id.btnLogin);
  254.         btnLogin.setOnClickListener(new View.OnClickListener() {
  255.             @Override
  256.             public void onClick(View v) {
  257.                 String username = editUsername.getText().toString();
  258.                 String password = editPassword.getText().toString();
  259.                 int loginFlag = 0;
  260.                 for(User idx: allUsers){
  261.                     if(username.equals(idx.getUsername()) && password.equals(idx.getPassword())){
  262.                         loginFlag = 1;
  263.                         olUser = idx;
  264.                         break;
  265.                     }
  266.                 }
  267.                 if(loginFlag == 1){
  268.                     Log.d("login status", "benar");
  269.                     Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
  270.                     intent.putExtra("olUser", olUser);
  271.                     startActivity(intent);
  272.                 } else {
  273.                     Log.d("login status", "salah");
  274.                 }
  275.             }
  276.         });
  277.  
  278.         btnSignUp = (Button) findViewById(R.id.btnSignUp);
  279.         btnSignUp.setOnClickListener(new View.OnClickListener() {
  280.             @Override
  281.             public void onClick(View v) {
  282.                 startActivity(new Intent(getApplicationContext(), SignUpActivity.class));
  283.             }
  284.         });
  285.     }
  286.  
  287.     private class GetAllDataFromDB extends AsyncTask<String, String, String>{
  288.         JSONObject jsonObject;
  289.         JSONArray jsonArrayAllUser;
  290.  
  291.         @Override
  292.         protected void onPreExecute() {
  293.             super.onPreExecute();
  294.             allUsers = new ArrayList<>();
  295.         }
  296.  
  297.         @Override
  298.         protected String doInBackground(String... params) {
  299.             String url = "latuasmobile/login.php";
  300.             jsonObject = JsonParser.aksesHttp(url, null);
  301.             try{
  302.                 jsonArrayAllUser = jsonObject.getJSONArray("allUser");
  303.                 for(int i=0; i<jsonArrayAllUser.length(); i++){
  304.                     JSONObject objFromArr = jsonArrayAllUser.getJSONObject(i);
  305.                     String username = objFromArr.getString("username");
  306.                     String password = objFromArr.getString("password");
  307.                     Log.d("user", username + "-" + password);
  308.                     allUsers.add(new User(username, password));
  309.                 }
  310.             } catch (Exception ex){
  311.                 ex.printStackTrace();
  312.             }
  313.  
  314.             return null;
  315.         }
  316.  
  317.         @Override
  318.         protected void onPostExecute(String s) {
  319.             super.onPostExecute(s);
  320.         }
  321.     }
  322. }
  323.  
  324. //ActivityMain
  325. public class MainActivity extends AppCompatActivity {
  326.  
  327.     @Override
  328.     protected void onCreate(Bundle savedInstanceState) {
  329.         super.onCreate(savedInstanceState);
  330.         setContentView(R.layout.activity_main);
  331.     }
  332.  
  333.     @Override
  334.     public boolean onCreateOptionsMenu(Menu menu) {
  335.         MenuInflater menuInflater = new MenuInflater(MainActivity.this);
  336.         menuInflater.inflate(R.menu.menu_login, menu);
  337.         return true;
  338.         //return super.onCreateOptionsMenu(menu);
  339.     }
  340.  
  341.     @Override
  342.     public boolean onOptionsItemSelected(MenuItem item) {
  343.         if(item.getItemId() == R.id.menuLogin){
  344.             startActivity(new Intent(getApplicationContext(), LoginActivity.class));
  345.         }
  346.         return super.onOptionsItemSelected(item);
  347.  
  348.  
  349.     }
  350. }
  351.  
  352. //ActivityMenu
  353. public class MenuActivity extends AppCompatActivity {
  354.     User olUser;
  355.  
  356.     Button btnChat, btnLogout;
  357.     @Override
  358.     protected void onCreate(Bundle savedInstanceState) {
  359.         super.onCreate(savedInstanceState);
  360.         setContentView(R.layout.activity_menu);
  361.  
  362.         olUser = (User) getIntent().getSerializableExtra("olUser");
  363.         btnChat = (Button) findViewById(R.id.btnChat);
  364.  
  365.         btnChat.setOnClickListener(new View.OnClickListener() {
  366.             @Override
  367.             public void onClick(View v) {
  368.                 Intent intent = new Intent(getApplicationContext(), ChatActivity.class);
  369.                 intent.putExtra("olUser", olUser);
  370.                 startActivity(intent);
  371.             }
  372.         });
  373.  
  374.         btnLogout = (Button) findViewById(R.id.btnLogout);
  375.         btnLogout.setOnClickListener(new View.OnClickListener() {
  376.             @Override
  377.             public void onClick(View v) {
  378.                 finish();
  379.             }
  380.         });
  381.     }
  382.  
  383.     @Override
  384.     public void onBackPressed() {
  385.         finish();
  386.     }
  387. }
  388.  
  389.  
  390. //ActivitySignUp
  391. public class SignUpActivity extends AppCompatActivity {
  392.     EditText editUsername, editPassword;
  393.     Button btnCancel, btnSignUp;
  394.     @Override
  395.     protected void onCreate(Bundle savedInstanceState) {
  396.         super.onCreate(savedInstanceState);
  397.         setContentView(R.layout.activity_sign_up);
  398.  
  399.         editUsername = (EditText) findViewById(R.id.editUsername);
  400.         editPassword = (EditText) findViewById(R.id.editPassword);
  401.         btnSignUp = (Button) findViewById(R.id.btnSignUp);
  402.         btnSignUp.setOnClickListener(new View.OnClickListener() {
  403.             @Override
  404.             public void onClick(View v) {
  405.                 String username = editUsername.getText().toString();
  406.                 String password = editPassword.getText().toString();
  407.                 ArrayList<NameValuePair> valuePairs = new ArrayList<NameValuePair>();
  408.                 valuePairs.add(new BasicNameValuePair("username", username));
  409.                 valuePairs.add(new BasicNameValuePair("password", password));
  410.                 JSONObject obj = JsonParser.aksesHttp("latuasmobile/signup.php", valuePairs);
  411.                 finish();
  412.             }
  413.         });
  414.  
  415.         btnCancel = (Button) findViewById(R.id.btnCancel);
  416.         btnCancel.setOnClickListener(new View.OnClickListener() {
  417.             @Override
  418.             public void onClick(View v) {
  419.                 finish();
  420.             }
  421.         });
  422.     }
  423.  
  424.     @Override
  425.     public void onBackPressed() {
  426.         finish();
  427.     }
  428. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top