Sat, 9 Aug 2014 7:16 pm
Opal ribuut ... #amd
201 views
Fri, 8 Aug 2014 10:39 pm
Nginap di AMD, #omopal ikut, ni #ayang sama #aim sudah #zzz, tinggal abah yang masih betah update status di #webkoe
305 views
Fri, 8 Aug 2014 6:24 pm
Jumat, besok Sabtu #gapenting
197 views
Thu, 7 Aug 2014 6:31 pm
Makan pitsa lagi, plus sarden kingfisher #rawasari
201 views
Thu, 7 Aug 2014 12:24 pm
Ke #pitzahut sama anak anak, roni, behol, unggul ...
38 views
Thu, 7 Aug 2014 12:21 am
00:21 malam #gapenting
211 views
Wed, 6 Aug 2014 4:03 pm
Masih penasaran sama notification yang kalo ditap mbuka intent appnya #android
231 views
Wed, 6 Aug 2014 3:54 pm
Some issue, NTPN tidak masuk dimenu mpn rekon, padahal POS sudah bayar, dimenu konfirmasi NTPN ada tapi keterangannya "belum rekon dengan Bank" ... sudah bisa diakui kah ? #kantor
221 views
Wed, 6 Aug 2014 10:01 am
Ke BKD lagi sama #aim dan #ayang
210 views
Wed, 6 Aug 2014 1:31 am
/******************************************************************************
 *
 *  Copyright 2011 Tavendo GmbH
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 ******************************************************************************/

package de.tavendo.autobahn.echoclient;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
//import android.util.Base64;
/*import de.tavendo.autobahn.R;*/ 
import de.tavendo.autobahn.WebSocket;
import de.tavendo.autobahn.WebSocketConnection;
import de.tavendo.autobahn.WebSocketException;
import de.tavendo.autobahn.WebSocketConnectionHandler;
import de.tavendo.autobahn.NotifyMessage;

public class EchoClientActivity extends Activity {

   static final String TAG = "de.tavendo.autobahn.echo";
   private static final String PREFS_NAME = "AutobahnAndroidEcho";
   private static int NOTIFY_ME_ID=1337;

   static EditText mHostname;
   static EditText mPort;
   static TextView mStatusline;
   static Button mStart;

   static EditText mMessage;
   static Button mSendMessage;

   private SharedPreferences mSettings;

   private void alert(String message) {
      Toast toast = Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT);
      toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, 0);
      toast.show();
   }

   private String getMyPhoneNumber(){
	    TelephonyManager mTelephonyMgr;
	    mTelephonyMgr = (TelephonyManager)
	        getSystemService(Context.TELEPHONY_SERVICE);
	    return mTelephonyMgr.getSimSerialNumber();
	}
   
   private void katakan(String msg){
	   /*********** Create notification ***********/
       
       final NotificationManager mgr=
           (NotificationManager)this.getSystemService(Context.NOTIFICATION_SERVICE);
       Notification note=new Notification(R.drawable.stat_notify_chat,
                                                       "Webkoe ...",
                                                       System.currentTimeMillis());
        
       // This pending intent will open after notification click
       PendingIntent i=PendingIntent.getActivity(this, 0,
                                               new Intent(this, NotifyMessage.class),
                                               0);
        
       note.setLatestEventInfo(this, "Pesan :",
                               msg, i);
        
       //After uncomment this line you will see number of notification arrived
       //note.number=2;
       NOTIFY_ME_ID = NOTIFY_ME_ID + 1;
       mgr.notify(NOTIFY_ME_ID, note);	   
   }
   
   private void loadPrefs() {

      mHostname.setText(mSettings.getString("hostname", ""));
      mPort.setText(mSettings.getString("port", "9000"));
   }

   private void savePrefs() {

      SharedPreferences.Editor editor = mSettings.edit();
      editor.putString("hostname", mHostname.getText().toString());
      editor.putString("port", mPort.getText().toString());
      editor.commit();
   }

   private void setButtonConnect() {
      mHostname.setEnabled(true);
      mPort.setEnabled(true);
      mStart.setText("Connect");
      mStart.setOnClickListener(new Button.OnClickListener() {
         public void onClick(View v) {
            start();
         }
      });
   }

   private void setButtonDisconnect() {
      mHostname.setEnabled(false);
      mPort.setEnabled(false);
      mStart.setText("Disconnect");
      mStart.setOnClickListener(new Button.OnClickListener() {
         public void onClick(View v) {
            mConnection.disconnect();
         }
      });
   }

   private final WebSocket mConnection = new WebSocketConnection();

   private void start() {

      final String wsuri = "ws://" + mHostname.getText() + ":" + mPort.getText();

      mStatusline.setText("Status: Connecting to " + wsuri + " ..");

      setButtonDisconnect();

      try {
         mConnection.connect(wsuri, new WebSocketConnectionHandler() {
            @Override
            public void onOpen() {
               mStatusline.setText("Status: Connecteds to " + wsuri);
               savePrefs();
               mSendMessage.setEnabled(true);
               mMessage.setEnabled(true);
            }

            @Override
            public void onTextMessage(String payload) {
               alert("Got echo: " + payload);
               katakan(payload);
            }

            @Override
            public void onClose(int code, String reason) {
               alert("Connection lost.");
               mStatusline.setText("Status: Ready.");
               setButtonConnect();
               mSendMessage.setEnabled(false);
               mMessage.setEnabled(false);
            }
         });
      } catch (WebSocketException e) {

         Log.d(TAG, e.toString());
      }
   }

   @Override
   public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      mHostname = (EditText) findViewById(R.id.hostname);
      mPort = (EditText) findViewById(R.id.port);
      mStatusline = (TextView) findViewById(R.id.statusline);
      mStart = (Button) findViewById(R.id.start);
      mMessage = (EditText) findViewById(R.id.msg);
      mSendMessage = (Button) findViewById(R.id.sendMsg);

      mSettings = getSharedPreferences(PREFS_NAME, 0);
      loadPrefs();

      setButtonConnect();
      mSendMessage.setEnabled(false);
      mMessage.setEnabled(false);

      mSendMessage.setOnClickListener(new Button.OnClickListener() {
         public void onClick(View v) {
        	String nomor = getMyPhoneNumber();
            mConnection.sendTextMessage("%%" + nomor + " " + mMessage.getText().toString());
            //mConnection.sendTextMessage(mMessage.getText().toString());
         }
      });
   }

   @Override
   protected void onDestroy() {
       super.onDestroy();
       if (mConnection.isConnected()) {
          mConnection.disconnect();
       }
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater inflater = getMenuInflater();
       inflater.inflate(R.menu.main_menu, menu);
       return true;
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      switch (item.getItemId()) {
         case R.id.quit:
            finish();
            break;
         default:
            return super.onOptionsItemSelected(item);
      }
      return true;
   }
}

EchoClientActivity.java #script
240 views
Wed, 6 Aug 2014 1:02 am
Fundamentalnya sudah dapat ... tinggal pendalaman #android
231 views
Tue, 5 Aug 2014 10:04 pm
Alhamdulillah, sudah bisa bikin bbm sendiri ... wuhuuuuuuuuuuuuuu #project #done #websocket #webkoe
308 views
Tue, 5 Aug 2014 9:21 pm
Mungkin akan berbeda antara "Webkoe - Catatan Online" dan "Catatan Online | Webkoe" #webkoe #seo
254 views
Tue, 5 Aug 2014 7:05 pm
Sampai rumaaah ... #gapenting #rawasari
242 views
Tue, 5 Aug 2014 6:52 pm
Nunggu beli ayam kresspi knpi ... #gapenting
199 views
Tue, 5 Aug 2014 5:52 pm
Nunggu dijemput aim sama ayang #kantor
199 views
Tue, 5 Aug 2014 4:52 pm
Websocket works ! #android #project #webkoe
276 views
Tue, 5 Aug 2014 3:06 pm
Kunjungan POS, membahas : 
Pak Bekti : rencana sosialisasi meterai baru di Kaltara,
pak parno : tentang hantaran pos banyak yang kempos
#kantor
199 views
Tue, 5 Aug 2014 12:17 pm
Makan siang bareng org bidang, rencananya mau ke garangasem soto kuali #kantor
211 views
Tue, 5 Aug 2014 11:24 am
Renpen APBN-P keluar, target kanwil turun dari 10 T jadi 9 T an #kantor
209 views
Tue, 5 Aug 2014 11:22 am
Renpen APBN-P keluar, target kanwil turun dari 10 T jadi 9 T an #kanwil
29 views
Tue, 5 Aug 2014 2:52 am
trending tag, dari menurun dibikin terus memanjang ... hemat space vertikal #webkoe
201 views
Tue, 5 Aug 2014 2:35 am
Saatnya tidur #zzz
223 views
Tue, 5 Aug 2014 2:34 am
Hape smartfren buat develop android, caranya ? samsung kemaren bisa sih ... #android
232 views
Tue, 5 Aug 2014 2:32 am
Nyoba native android connect ke websocket, target SDK API-LEVEL 8 froyo. Sudah tampil dan tanpa error,tapi belum bisa konek ke server, percobaan dengan web aja gagal, huehue ... bingung dengan protokol yang digunakan, WS ato HTTP ... #android #project #webkoe #websocket
310 views
Mon, 4 Aug 2014 10:00 pm
Ngupil #gapenting
193 views
Mon, 4 Aug 2014 6:40 pm
#isibensin vario 4 liter di sutoyo #gapenting
252 views
Mon, 4 Aug 2014 6:30 pm
Pake kaos kaki di parkiran, mau pulang ... #gapenting #kantor
232 views
Mon, 4 Aug 2014 5:27 pm
7 Last Newest Tag ? #webkoe
193 views
Mon, 4 Aug 2014 4:59 pm
Ngantar #ayang ke BKD sama #aim, hujan-hujanan ... walopun BKD nya sudah tidak menerima request photo lagi, jatahnya 200 doank perhari, kilah mereka . BKD, ntar kalo guwa jadi presiden, ane ubek-ubek ente !
210 views
Mon, 4 Aug 2014 11:56 am
Pake kacamata #gapenting
198 views
Mon, 4 Aug 2014 11:42 am
Lagi di lift, #kantor #gapenting
223 views
Mon, 4 Aug 2014 11:39 am
TAGRANK STARTED FROM THIS POST #webkoe
193 views