Blogger Template by Blogcrowds and Blogger Styles | Best Credit Card Offers

.

Aplikasi networking adalah aplikasi yang lebih menekankan pada transfer data dari server menuju client. Salah satunya adalah dengan cara kita menggunakan API dari penyedia layanan untuk mengirim data dari penyedia layanan tersebut menuju aplikasi kita.

Pada kesempatan kali ini saya akan membuat aplikasi untuk melihat cuaca terkini dari suatu kota di dunia dengan menggunakan API dari Open Weather. Langkah – langkahnya sebagai berikut :
  • Buat project baru. Klik tombol File > New > Android Application Project
  • Selanjutnya beri nama project anda dengan nama AplikasiCuaca dan atur minimum, target, compile serta tema dari tipe android yang akan anda pakai nantinya. Jika selesai klik tombol Lakukan konfigurasi sesui keinginan anda, terus klik Next hingga terbentuk sebuah project.
  • Masukkan gambar berikut pada package explorer > AplikasiCuaca > res > drawable
background ntmostlycloudy ntclear mostlysunny mostlycloudy fog cloudy clear chancetstorms chancesleet chancerain chanceflurries
  • Edit activity_main.xml pada package explorer > AplikasiCuaca > res > layout dan masukkan kode berikut
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:background="@drawable/background"
   tools:context=".MainActivity" >
   <TextView
       android:id="@+id/textView1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:layout_marginTop="35dp"
       android:text=""
       android:textAppearance="?android:attr/textAppearanceMedium" />
   <EditText
       android:id="@+id/lokasi"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/textView1"
       android:layout_alignParentRight="true"
      android:hint="Inputkan Lokasi"
       android:ems="10" />
     <requestFocus />
   <TextView
       android:id="@+id/textView2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/textView1"
       android:layout_below="@+id/textView1"
       android:layout_marginTop="68dp"
       android:text="@string/country"
       android:textAppearance="?android:attr/textAppearanceSmall" />
   <TextView
       android:id="@+id/textView3"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/textView2"
       android:layout_marginTop="19dp"
       android:text="@string/temperature"
       android:textAppearance="?android:attr/textAppearanceSmall" />
   <TextView
       android:id="@+id/textView4"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/textView3"
       android:layout_below="@+id/textView3"
       android:layout_marginTop="32dp"
       android:text="@string/humidity"
       android:textAppearance="?android:attr/textAppearanceSmall" />
   <TextView
       android:id="@+id/textView5"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/textView4"
       android:layout_below="@+id/textView4"
       android:layout_marginTop="21dp"
       android:text="@string/pressure"
       android:textAppearance="?android:attr/textAppearanceSmall" />
   <EditText
android:id="@+id/suhu"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/textView3"
       android:layout_alignBottom="@+id/textView3"
       android:layout_alignLeft="@+id/negara"
       android:ems="10" />
   <EditText
       android:id="@+id/kelembapan"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_above="@+id/textView5"
       android:layout_alignLeft="@+id/lokasi"
       android:ems="10" />
   <Button
       android:id="@+id/button1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/negara"
       android:layout_below="@+id/lokasi"
       android:onClick="open"
       android:text="@string/weather"/>
      <ImageView
          android:id="@+id/gambarCuaca"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:adjustViewBounds="false"
          android:src="@drawable/clear" />
      <EditText
          android:id="@+id/negara"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/textView2"
          android:layout_alignBottom="@+id/textView2"
          android:layout_alignLeft="@+id/kelembapan"
          android:ems="10" />
      <EditText
          android:id="@+id/tekanan"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/textView5"
          android:layout_alignBottom="@+id/textView5"
          android:layout_alignLeft="@+id/kelembapan"
          android:ems="10" />
        <TextView
                    android:id="@+id/Jam"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="85dp"
                    android:text="01/01/2014 00:00:00 AM" />
</RelativeLayout>

  • Buatlah pada file HandleJSON.java di package explorer > src > namapackage dan masukkan kode berikut
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import android.annotation.SuppressLint;
public class HandleJSON {
                           private String country = "country";
                           private Integer temperature = 0;
                           private String humidity = "humidity";
                           private String pressure = "pressure";
                           private String urlString = "null";
                           private String icon = "icon";
                           private String description ="description";
                           //private int suhu;
                           public volatile boolean parsingComplete = true;
                           public HandleJSON(String url){
                                 this.urlString = url;
                           }
                           public String getCountry(){
                                 return country;
                           }
                           public Integer getTemperature(){
                                 temperature = temperature -273;
                                 return temperature;
                           }
                           public String getHumidity(){
                                 return humidity;
                           }
                           public String getPressure(){
                                 return pressure;
                           }
                           public String getIcon(){
                                 return icon;
                           }
                           public String getDescription(){
                                 return description;
                           }
                           public void readAndParseJSON(String in){
                                 try{
                                        JSONObject reader = new JSONObject(in);
                                        JSONObject sys = reader.getJSONObject("sys");
                                        country = sys.getString("country");
                                        JSONObject main = reader.getJSONObject("main");
                                        temperature = main.getInt("temp");                              
                                        pressure = main.getString("pressure");
                                        humidity = main.getString("humidity");
                                        JSONArray weather = reader.getJSONArray("weather");
                                        JSONObject Weather = weather.getJSONObject(0);
                                        icon = Weather.getString("icon");
                                        description = Weather.getString("description");
                                        parsingComplete = false;
                                 }catch (Exception e){
                                        e.printStackTrace();
                                 }
                           }
                           public void fetchJSON(){
                                 Thread thread = new Thread(new Runnable(){
                                        public void run(){
                                                        try{
                                                                        URL url = new URL(urlString);
                                                                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                                                                        conn.setReadTimeout(10000/*miliseconds*/);
                                                                        conn.setConnectTimeout(15000/*miliseconds*/);
                                                                        conn.setRequestMethod("GET");
                                                                        conn.setDoInput(true);
                                                                        conn.connect();
                                                                        InputStream stream = conn.getInputStream();
                                                                        String data = convertStreamToString(stream);
                                                                        readAndParseJSON(data);
                                                                        stream.close();
                                                        }catch(Exception e){
                                                                        e.printStackTrace();
                                                        }
                                        }
                                 });
                                 thread.start();
                           }
                           private String convertStreamToString(java.io.InputStream is) {
                                 // TODO Auto-generated method stub
                                 java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
                                 return s.hasNext() ? s.next() : "";
                           }
}

  • Masukkan kode berikut pada package explorer > src > res > strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">AppCuaca</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello world!</string>
   <string name="location">Lokasi</string>
   <string name="country">Negara</string>
   <string name="temperature">Suhu</string>
   <string name="humidity">Kelembaban</string>
   <string name="pressure">Tekanan</string>
   <string name="weather">Cuaca</string>
</resources>

  • Masukkan kode berikut pada package explorer > src > namapackage > MainActivity.java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends Activity {
                           private String url1 = "http://api.openweathermap.org/data/2.5/weather?q=";
                           private EditText location, country, humidity, pressure,temperature;
                           private ImageView gambar;
                           private HandleJSON obj;
                           private TextView jam;
                           @Override
                           protected void onCreate(Bundle savedInstanceState) {
                                 super.onCreate(savedInstanceState);
                                 setContentView(R.layout.activity_main);
                                 location = (EditText)findViewById(R.id.lokasi);
                                 country = (EditText)findViewById(R.id.negara);
                                 temperature = (EditText)findViewById(R.id.suhu);
                                 humidity = (EditText)findViewById(R.id.kelembapan);
                                 pressure = (EditText)findViewById(R.id.tekanan);
                                 jam = (TextView)findViewById(R.id.Jam);
                                 gambar = (ImageView) findViewById(R.id.gambarCuaca);
                           }
                           @Override
                           public boolean onCreateOptionsMenu(Menu menu) {
                                 // Inflate the menu; this adds items to the action bar if it is present.
                                 getMenuInflater().inflate(R.menu.main, menu);
                                 return true;
                           }
                           public void open(View view){
                                 String url = location.getText().toString();
                                 String finalUrl = url1+url;
                                 country.setText(finalUrl);
                                 obj = new HandleJSON(finalUrl);
                                 obj.fetchJSON();
                                 while(obj.parsingComplete);
                                 country.setText(obj.getCountry());
                                 temperature.setText(String.valueOf(obj.getTemperature()+"°C"));
                                 humidity.setText(obj.getHumidity()+" %");
                                 pressure.setText(obj.getPressure()+" hPa");
                                 jam.setText(getTime());
                                 Imageicon(obj.getIcon());
                           }
                           public static String getTime()
                           {
                          SimpleDateFormat sdf1 = new SimpleDateFormat("d/M/yyyy h:m:s a");
                              Calendar calendar = Calendar.getInstance();
                              String strdate1 = sdf1.format(calendar.getTime());
                              return strdate1;
                           }
                           private void Imageicon (String image){
                          if(image.equals("01d")){
                                        gambar.setImageResource(R.drawable.clear);
                                 }
                          else if (image.equals("01n")){
                                gambar.setImageResource(R.drawable.ntclear);
                          }
                                 else if (image.equals("02d")){
                                        gambar.setImageResource(R.drawable.mostlysunny);
                                 }
                                 else if (image.equals("02n")){
                                        gambar.setImageResource(R.drawable.ntmostlycloudy);
                                 }
                                 else if (image.equals("03d") ||image.equals("03n") ){
                                        gambar.setImageResource(R.drawable.cloudy);
                                 }
                                 else if (image.equals("04d") || image.equals("04n") ){
                                        gambar.setImageResource(R.drawable.fog);
                                 }
                                 else if (image.equals("09d") || image.equals("10d") || image.equals("09n") || image.equals("10n")){
                                        gambar.setImageResource(R.drawable.chancerain);
                                 }
                                 else if (image.equals("11d") || image.equals("11n")){
                                        gambar.setImageResource(R.drawable.chancetstorms);
                                 }
                                 else if (image.equals("13d") || image.equals("13n")){
                                        gambar.setImageResource(R.drawable.chanceflurries);
                                 }
   }
}

  • Modifikasi AndroidManifest.xml untuk koneksi internet
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.appcuaca"
   android:versionCode="1"
   android:versionName="1.0" >

   <uses-sdk
       android:minSdkVersion="8"
       android:targetSdkVersion="18" />

   <uses-permission android:name="android.permission.INTERNET"/>

   <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
       <activity
           android:name="com.example.appcuaca.MainActivity"
           android:label="@string/app_name" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>

</manifest>

  • Setelah selesai coba kita running dan ambil file .apk di package explorer > bin kemudian instal di HP kita dan hasilnya akan seperti ini
Screenshot_2014-11-13-12-45-34 Screenshot_2014-11-13-12-45-51

SELAMAT MENCOBA :D
»»  READMORE...


Membuat aplikasi BMI (Body Mass Index)

  • Buat project baru. Klik tombol File > New > Android Application Project 
  • Selanjutnya beri nama project anda dengan nama bmi dan atur minimum, target, compile serta tema dari tipe android yang akan anda pakai nantinya. Jika selesai klik tombol Next. Lakukan konfigurasi sesui keinginan anda, terus klik Next hingga terbentuk sebuah project.
  • Setelah terbentuk sebuah project, pada package explorer > bmi > res > layout  buatlah activity_main.xml seperti di bawah
  • Kemudian buatlah activity selanjutnya dengan nama kurus.xml seperti dibawah
  • Buatlah activity selanjutnya dengan cara langkah 4 dan beri nama ideal.xml, kegemukan.xml, obesitas.xml
  • Setelah membuat semua activity, modifikasi AndroidManifest.xml seperti di bawah ini


  • Modifikasi kode MainActivity pada package explorer > bmi > src > package seperti di bawah


  • Selanjutnya buatlah file kurus.java pada package explorer > bmi > src > package 
  • Buatlah file ideal.java, kegemukan.java, obesitas.java dan masukkan kode seperti langkah 6, namun sesuaikan layout yang di panggil dan calling intent seperti di MainActivity.java. 
  • Jalankan aplikasi. Pilih Run > Run As > Android Application. Maka hasilnya seperti berikut 


»»  READMORE...

Postingan Lama