Membuat Aplikasi Speech To Text

بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ
Kali ini saya akan membagaikan bagaimana cara membuat aplikasi sederhana Speech to text menggunakan API yang sudah ada dari setiap android device, 
Saya telah membuat aplikasi sederhana. berikut ini adalah screenshootnya.

Langkah langkahnya adalah:
1. Buat file-> new project
2. kemudian pada main_activity tambahkan

3. selanjutnya pada ActivityMain.java , tambahkan

  1. import java.util.ArrayList;
  2. import java.util.Locale;
  3. import android.app.Activity;
  4. import android.content.ActivityNotFoundException;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.speech.RecognizerIntent;
  8. import android.view.View;
  9. import android.widget.ImageButton;
  10. import android.widget.TextView;
  11. import android.widget.Toast;
  12. public class MainActivity extends Activity {
  13. protected static final int RESULT_SPEECH = 1;
  14. private ImageButton btnSpeak;
  15. private TextView Text;
  16. @Override
  17. public void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. Text = (TextView) findViewById(R.id.Text);
  21. btnSpeak = (ImageButton) findViewById(R.id.mic);
  22. btnSpeak.setOnClickListener(new View.OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25. Intent intent = new Intent(
  26. RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
  27. intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, Locale.getDefault());
  28. try {
  29. startActivityForResult(intent, RESULT_SPEECH);
  30. Text.setText(“”);
  31. } catch (ActivityNotFoundException a) {
  32. Toast.makeText(getApplicationContext(),
  33. “Your device doesn’t support Speech to Text”,
  34. Toast.LENGTH_SHORT).show();
  35. }
  36. }
  37. });
  38. }
  39. @Override
  40. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  41. super.onActivityResult(requestCode, resultCode, data);
  42. switch (requestCode) {
  43. case RESULT_SPEECH: {
  44. if (resultCode == RESULT_OK && null != data) {
  45. ArrayList<String> text = data
  46. .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
  47. Text.setText(text.get(0));
  48. }
  49. break;
  50. }
  51. }
  52. }
  53. }
4. Pada manifest.xml tambahkan

  1. <uses-permission android:name=“android.permission.RECORD_AUDIO”/>
  2. <uses-permission android:name=“android.permission.INTERNET” />
5. Dan jangna lupa pada drawable tambakan file ini.

Membuat Aplikasi Speech To Text

بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ
Kali ini saya akan membagaikan bagaimana cara membuat aplikasi sederhana Speech to text menggunakan API yang sudah ada dari setiap android device, 
Saya telah membuat aplikasi sederhana. berikut ini adalah screenshootnya.

Langkah langkahnya adalah:
1. Buat file-> new project
2. kemudian pada main_activity tambahkan

3. selanjutnya pada ActivityMain.java , tambahkan

  1. import java.util.ArrayList;
  2. import java.util.Locale;
  3. import android.app.Activity;
  4. import android.content.ActivityNotFoundException;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.speech.RecognizerIntent;
  8. import android.view.View;
  9. import android.widget.ImageButton;
  10. import android.widget.TextView;
  11. import android.widget.Toast;
  12. public class MainActivity extends Activity {
  13. protected static final int RESULT_SPEECH = 1;
  14. private ImageButton btnSpeak;
  15. private TextView Text;
  16. @Override
  17. public void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. Text = (TextView) findViewById(R.id.Text);
  21. btnSpeak = (ImageButton) findViewById(R.id.mic);
  22. btnSpeak.setOnClickListener(new View.OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25. Intent intent = new Intent(
  26. RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
  27. intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, Locale.getDefault());
  28. try {
  29. startActivityForResult(intent, RESULT_SPEECH);
  30. Text.setText(“”);
  31. } catch (ActivityNotFoundException a) {
  32. Toast.makeText(getApplicationContext(),
  33. “Your device doesn’t support Speech to Text”,
  34. Toast.LENGTH_SHORT).show();
  35. }
  36. }
  37. });
  38. }
  39. @Override
  40. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  41. super.onActivityResult(requestCode, resultCode, data);
  42. switch (requestCode) {
  43. case RESULT_SPEECH: {
  44. if (resultCode == RESULT_OK && null != data) {
  45. ArrayList<String> text = data
  46. .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
  47. Text.setText(text.get(0));
  48. }
  49. break;
  50. }
  51. }
  52. }
  53. }
4. Pada manifest.xml tambahkan

  1. <uses-permission android:name=“android.permission.RECORD_AUDIO”/>
  2. <uses-permission android:name=“android.permission.INTERNET” />
5. Dan jangna lupa pada drawable tambakan file ini.

Membuat Aplikasi Android untuk Mengakses Blutooth Device

بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ

Banyak jalan,Bluetooth adalah sebuh jalan untuk menerima atau mengirim data antar 2 perangkat. Platform android sudah termasuk mendapat dukukungan tekhnologi bluetooth yang mengizinkan sebuah perangkat untuk mengirim data dengan pengguna bluetooth lainnya.

Android menyediakan API Bluetooth untuk mengoperasikan kegiatan operasi yang berbeda.
  • Scan untuk pengguna perangkat Bluetooth
  • Mendapatkan List perangkat bluetooth yang sudah terpasang
  • Menghungkan ke perangkat lain

Langsung saja kali ini saya akan membuat tutorial bagaimana cara mengakses bluetooth.
Ini beberapa Screenshotnya 

Tampilan Utama

Ketika Menyalakan Bluetooth
Ketika Menampilkan List
Tampilan Ketika Bluetooth dimatikan
1. Buat file di drawable untuk paket icon di bluetooth

2. pertama buat dulu file projek dengan nama bluetooth-> kemudian pilih platform -.> pilih blank activity -> beri nama activity (biarkan default)

3. Pada activity_main.xml  tambahkan code dibawah ini

  5. kemudian pada MainActivity buat


6. Kemudian jalankan, pastikan kalian menjalankannya lewat USB Debug ke mobile device. Karena di Emulator kadang ada yang tidak support untuk menjalankan bluetooth. kecuali jika di PC sudah support dengan tekhnologi Bluetooth

Membuat Aplikasi Android untuk Mengakses Blutooth Device

بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ

Banyak jalan,Bluetooth adalah sebuh jalan untuk menerima atau mengirim data antar 2 perangkat. Platform android sudah termasuk mendapat dukukungan tekhnologi bluetooth yang mengizinkan sebuah perangkat untuk mengirim data dengan pengguna bluetooth lainnya.

Android menyediakan API Bluetooth untuk mengoperasikan kegiatan operasi yang berbeda.
  • Scan untuk pengguna perangkat Bluetooth
  • Mendapatkan List perangkat bluetooth yang sudah terpasang
  • Menghungkan ke perangkat lain

Langsung saja kali ini saya akan membuat tutorial bagaimana cara mengakses bluetooth.
Ini beberapa Screenshotnya 

Tampilan Utama

Ketika Menyalakan Bluetooth
Ketika Menampilkan List
Tampilan Ketika Bluetooth dimatikan
1. Buat file di drawable untuk paket icon di bluetooth

2. pertama buat dulu file projek dengan nama bluetooth-> kemudian pilih platform -.> pilih blank activity -> beri nama activity (biarkan default)

3. Pada activity_main.xml  tambahkan code dibawah ini

  5. kemudian pada MainActivity buat


6. Kemudian jalankan, pastikan kalian menjalankannya lewat USB Debug ke mobile device. Karena di Emulator kadang ada yang tidak support untuk menjalankan bluetooth. kecuali jika di PC sudah support dengan tekhnologi Bluetooth

Android Working With Retrofit HTTP Library

 بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ
Hari ini kita akan belajar melihat library mengagumkan yang dimiliki Retrofit, untuk melakukan panggilan http. Retrofit adalah alternti yang lebih baik dari hal kemudahan penggunaan, kinerja dan hal-hal lainnya.
Berikut ini adalah tampilan aplikasi akhir yang sudah kita buat 

Mendapatkan TMDB API Key / Contoh JSON
Untuk tutorial kali ini kita akan menggunakan TMDb API Untuk menggunakan API ini perlu mendapatkan KeyAPI . Di sini Anda dapat lihat bagaimana untuk mendapatkan kunci API. Singkatnya, Anda harus mendaftar dan login untuk mendapatkan Key.

Membuat Proyek Baru.
1. Buat proyek baru di Android Studio dari berkas ⇒ New Project . Ketika ia meminta Anda untuk memilih aktivitas default, pilih Activity kosong dan lanjutkan
2..Buka grandle.app dan tambahkan 

    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.squareup.retrofit2:retrofit:2.0.2'

    compile 'com.squareup.retrofit2:converter-gson:2.0.2'

3. Karena project ini memerlukan koneksi internet, maka tambhkan di AndroidManifest.xml

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

4 . Buat empat sub paket yang bernama aktivitas , adaptor , sisanya dan Model dalam paket utama Anda. Memindahkan MainActivity bawah aktivitas paket.

5. Buat kelas bernama Movie.java dengan code
package com.example.taufiq.retrofit.model;

import com.google.gson.annotations.SerializedName;

import java.util.ArrayList;
import java.util.List;

/** * Created by Taufiq on 8/24/2016. */public class Movie {
@SerializedName("poster_path")
private String posterPath;
@SerializedName("adult")
private boolean adult;
@SerializedName("overview")
private String overview;
@SerializedName("release_date")
private String releaseDate;
@SerializedName("genre_ids")
private List<Integer> genreIds = new ArrayList<Integer>();
@SerializedName("id")
private Integer id;
@SerializedName("original_title")
private String originalTitle;
@SerializedName("original_language")
private String originalLanguage;
@SerializedName("title")
private String title;
@SerializedName("backdrop_path")
private String backdropPath;
@SerializedName("popularity")
private Double popularity;
@SerializedName("vote_count")
private Integer voteCount;
@SerializedName("video")
private Boolean video;
@SerializedName("vote_average")
private Double voteAverage;

public Movie(String posterPath, boolean adult, String overview,
String releaseDate, List<Integer> genreIds, Integer id,
String originalTitle, String originalLanguage, String title,
 String backdropPath, Double popularity,
Integer voteCount, Boolean video, Double voteAverage) {
this.posterPath = posterPath;
this.adult = adult;
this.overview = overview;
this.releaseDate = releaseDate;
this.genreIds = genreIds;
this.id = id;
this.originalTitle = originalTitle;
this.originalLanguage = originalLanguage;
this.title = title;
this.backdropPath = backdropPath;
this.popularity = popularity;
this.voteCount = voteCount;
this.video = video;
this.voteAverage = voteAverage;
}

public String getPosterPath() {
return posterPath;
}

public void setPosterPath(String posterPath) {
this.posterPath = posterPath;
}

public boolean isAdult() {
return adult;
}

public void setAdult(boolean adult) {
this.adult = adult;
}

public String getOverview() {
return overview;
}

public void setOverview(String overview) {
this.overview = overview;
}

public String getReleaseDate() {
return releaseDate;
}

public void setReleaseDate(String releaseDate) {
this.releaseDate = releaseDate;
}

public List<Integer> getGenreIds() {
return genreIds;
}

public void setGenreIds(List<Integer> genreIds) {
this.genreIds = genreIds;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getOriginalTitle() {
return originalTitle;
}

public void setOriginalTitle(String originalTitle) {
this.originalTitle = originalTitle;
}

public String getOriginalLanguage() {
return originalLanguage;
}

public void setOriginalLanguage(String originalLanguage) {
this.originalLanguage = originalLanguage;
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getBackdropPath() {
return backdropPath;
}

public void setBackdropPath(String backdropPath) {
this.backdropPath = backdropPath;
}

public Double getPopularity() {
return popularity;
}

public void setPopularity(Double popularity) {
this.popularity = popularity;
}

public Integer getVoteCount() {
return voteCount;
}

public void setVoteCount(Integer voteCount) {
this.voteCount = voteCount;
}

public Boolean getVideo() {
return video;
}

public void setVideo(Boolean video) {
this.video = video;
}

public Double getVoteAverage() {
return voteAverage;
}

public void setVoteAverage(Double voteAverage) {
this.voteAverage = voteAverage;
}
}
6.Dan buat MovieResponse dengan kode dibawah ini 
package com.example.taufiq.retrofit.model;
import com.google.gson.annotations.SerializedName;
import java.util.List;
/** * Created by Taufiq on 8/24/2016. */public class MoviesResponse {
@SerializedName("page")
private int page;
@SerializedName("results")
private List<Movie> results;
@SerializedName("total_results")
private int totalResults;
@SerializedName("total_pages")
private int totalPages;

public int getPage() {
return page;
}

public void setPage(int page) {
this.page = page;
}

public List<Movie> getResults() {
return results;
}

public void setResults(List<Movie> results) {
this.results = results;
}

public int getTotalResults() {
return totalResults;
}

public void setTotalResults(int totalResults) {
this.totalResults = totalResults;
}

public int getTotalPages() {
return totalPages;
}

public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
}

7. Untuk mengirim permintaan jaringan ke API, kita perlu menggunakan Retrofit Builder
class dan menentukan URL dasar untuk layanan. Jadi, buat sebuah kelas bernama ApiClient.java 
bawah sisa paket.


package com.example.taufiq.retrofit.rest;

import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

/** * Created by Taufiq on 8/24/2016. */public class ApiClient {

public static final String BASE_URL = "http://api.themoviedb.org/3/";
private static Retrofit retrofit = null;


public static Retrofit getClient() {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
8.Buat API interface untuk memanggil API
package com.example.taufiq.retrofit.rest;

import com.example.taufiq.retrofit.model.MoviesResponse;
import com.example.taufiq.retrofit.model.MoviesResponse;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;

/** * Created by Taufiq on 8/24/2016. */public interface ApiInterface {
@GET("movie/top_rated")
Call<MoviesResponse> getTopRatedMovies(@Query("api_key") String apiKey);

@GET("movie/{id}")
Call<MoviesResponse> getMovieDetails(@Path("id") int id, @Query("api_key") String apiKey);
}
9.Mari kita membuat permintaan pertama dari MainActivity kami. Jika kita ingin mengkonsumsi API asynchronous, kita sebut layanan sebagai berikut. Buka MainActivity.java dan melakukan perubahan di bawah.


10. Mari kita membuat ListView untuk hasil diambil. Kami akan menggunakanRecyclerView untuk itu. Pertama-tama, menambahkannya ke gradle.gradle
compile 'com.android.support:recyclerview-v7:23.3.0'
11.Buka colors.xml dan menambahkan nilai warna di bawah ini.




<?xml version="1.0" encoding="utf-8"?>


<resources>


    <color name="colorPrimary">#3F51B5</color>


    <color name="colorPrimaryDark">#303F9F</color>


    <color name="colorAccent">#FF4081</color>




    <color name="orange">#FF3909</color>


    <color name="colorAccentDark">#00B482</color>




    <color name="colorBlack">#555555</color>


    <color name="colorWhite">#FFFFFF</color>


    <color name="colorGrey">#707070</color>


    <color name="colorGreyLight">#8A8A8A</color>


</resources>

12. Buat tata letak bernama star.xml bawah res ditarik dengan konten di bawah ini.


<!-- drawable/star.xml -->



    android:width="24dp"


    android:height="24dp"


    android:viewportHeight="24"


    android:viewportWidth="24">


    <path


        android:fillColor="#000"


        android:pathData="M12,17.27L18.18,21L16.54,13.97L22,

9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z" />


</vector>


13. Buat tata letak bernama list_item_movie.java bawah tata letak res.





14 .Adapter adalah pola umum yang membantu untuk mengikat melihat dan data, jadi mari kita menerapkan adaptor untuk ini. Buat kelas bernama MoviesAdapter.java dan tambahkan kode dibawah

package com.example.taufiq.retrofit.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.example.taufiq.retrofit.model.Movie;
import com.example.taufiq.retrofit.R;
import java.util.List;
/** * Created by Taufiq on 8/24/2016. */public class MoviesAdapter extends
RecyclerView.Adapter<MoviesAdapter.
MovieViewHolder> {

private List<Movie> movies;
private int rowLayout;
private Context context;


public static class MovieViewHolder extends RecyclerView.ViewHolder {
LinearLayout moviesLayout;
TextView movieTitle;
TextView data;
TextView movieDescription;
TextView rating;


public MovieViewHolder(View v) {
super(v);
moviesLayout = (LinearLayout) v.findViewById(R.id.movies_layout);
movieTitle = (TextView) v.findViewById(R.id.title);
data = (TextView) v.findViewById(R.id.subtitle);
movieDescription = (TextView) v.findViewById(R.id.description);
rating = (TextView) v.findViewById(R.id.rating);
}
}

public MoviesAdapter(List<Movie> movies, int rowLayout, Context context) {
this.movies = movies;
this.rowLayout = rowLayout;
this.context = context;
}

@Override public MoviesAdapter.MovieViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(rowLayout, parent, false);
return new MovieViewHolder(view);
}


@Override public void onBindViewHolder(MovieViewHolder holder, final int position) {
holder.movieTitle.setText(movies.get(position).getTitle());
holder.data.setText(movies.get(position).getReleaseDate());
holder.movieDescription.setText(movies.get(position).getOverview());
holder.rating.setText(movies.get(position).getVoteAverage().toString());
}

@Override public int getItemCount() {
return movies.size();
}
}

15. Buka MainActivity.java dan memodifikasi kode seperti di bawah ini.


16. Jalankan dan kemudian lihat kendahannya, pastikan kalian terkoneksi dengan internet ..

semoga bermanfaat ^_^

Android Working With Retrofit HTTP Library

 بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ
Hari ini kita akan belajar melihat library mengagumkan yang dimiliki Retrofit, untuk melakukan panggilan http. Retrofit adalah alternti yang lebih baik dari hal kemudahan penggunaan, kinerja dan hal-hal lainnya.
Berikut ini adalah tampilan aplikasi akhir yang sudah kita buat 

Mendapatkan TMDB API Key / Contoh JSON
Untuk tutorial kali ini kita akan menggunakan TMDb API Untuk menggunakan API ini perlu mendapatkan KeyAPI . Di sini Anda dapat lihat bagaimana untuk mendapatkan kunci API. Singkatnya, Anda harus mendaftar dan login untuk mendapatkan Key.

Membuat Proyek Baru.
1. Buat proyek baru di Android Studio dari berkas ⇒ New Project . Ketika ia meminta Anda untuk memilih aktivitas default, pilih Activity kosong dan lanjutkan
2..Buka grandle.app dan tambahkan 

    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.squareup.retrofit2:retrofit:2.0.2'

    compile 'com.squareup.retrofit2:converter-gson:2.0.2'

3. Karena project ini memerlukan koneksi internet, maka tambhkan di AndroidManifest.xml

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

4 . Buat empat sub paket yang bernama aktivitas , adaptor , sisanya dan Model dalam paket utama Anda. Memindahkan MainActivity bawah aktivitas paket.

5. Buat kelas bernama Movie.java dengan code
package com.example.taufiq.retrofit.model;

import com.google.gson.annotations.SerializedName;

import java.util.ArrayList;
import java.util.List;

/** * Created by Taufiq on 8/24/2016. */public class Movie {
@SerializedName("poster_path")
private String posterPath;
@SerializedName("adult")
private boolean adult;
@SerializedName("overview")
private String overview;
@SerializedName("release_date")
private String releaseDate;
@SerializedName("genre_ids")
private List<Integer> genreIds = new ArrayList<Integer>();
@SerializedName("id")
private Integer id;
@SerializedName("original_title")
private String originalTitle;
@SerializedName("original_language")
private String originalLanguage;
@SerializedName("title")
private String title;
@SerializedName("backdrop_path")
private String backdropPath;
@SerializedName("popularity")
private Double popularity;
@SerializedName("vote_count")
private Integer voteCount;
@SerializedName("video")
private Boolean video;
@SerializedName("vote_average")
private Double voteAverage;

public Movie(String posterPath, boolean adult, String overview,
String releaseDate, List<Integer> genreIds, Integer id,
String originalTitle, String originalLanguage, String title,
 String backdropPath, Double popularity,
Integer voteCount, Boolean video, Double voteAverage) {
this.posterPath = posterPath;
this.adult = adult;
this.overview = overview;
this.releaseDate = releaseDate;
this.genreIds = genreIds;
this.id = id;
this.originalTitle = originalTitle;
this.originalLanguage = originalLanguage;
this.title = title;
this.backdropPath = backdropPath;
this.popularity = popularity;
this.voteCount = voteCount;
this.video = video;
this.voteAverage = voteAverage;
}

public String getPosterPath() {
return posterPath;
}

public void setPosterPath(String posterPath) {
this.posterPath = posterPath;
}

public boolean isAdult() {
return adult;
}

public void setAdult(boolean adult) {
this.adult = adult;
}

public String getOverview() {
return overview;
}

public void setOverview(String overview) {
this.overview = overview;
}

public String getReleaseDate() {
return releaseDate;
}

public void setReleaseDate(String releaseDate) {
this.releaseDate = releaseDate;
}

public List<Integer> getGenreIds() {
return genreIds;
}

public void setGenreIds(List<Integer> genreIds) {
this.genreIds = genreIds;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getOriginalTitle() {
return originalTitle;
}

public void setOriginalTitle(String originalTitle) {
this.originalTitle = originalTitle;
}

public String getOriginalLanguage() {
return originalLanguage;
}

public void setOriginalLanguage(String originalLanguage) {
this.originalLanguage = originalLanguage;
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getBackdropPath() {
return backdropPath;
}

public void setBackdropPath(String backdropPath) {
this.backdropPath = backdropPath;
}

public Double getPopularity() {
return popularity;
}

public void setPopularity(Double popularity) {
this.popularity = popularity;
}

public Integer getVoteCount() {
return voteCount;
}

public void setVoteCount(Integer voteCount) {
this.voteCount = voteCount;
}

public Boolean getVideo() {
return video;
}

public void setVideo(Boolean video) {
this.video = video;
}

public Double getVoteAverage() {
return voteAverage;
}

public void setVoteAverage(Double voteAverage) {
this.voteAverage = voteAverage;
}
}
6.Dan buat MovieResponse dengan kode dibawah ini 
package com.example.taufiq.retrofit.model;
import com.google.gson.annotations.SerializedName;
import java.util.List;
/** * Created by Taufiq on 8/24/2016. */public class MoviesResponse {
@SerializedName("page")
private int page;
@SerializedName("results")
private List<Movie> results;
@SerializedName("total_results")
private int totalResults;
@SerializedName("total_pages")
private int totalPages;

public int getPage() {
return page;
}

public void setPage(int page) {
this.page = page;
}

public List<Movie> getResults() {
return results;
}

public void setResults(List<Movie> results) {
this.results = results;
}

public int getTotalResults() {
return totalResults;
}

public void setTotalResults(int totalResults) {
this.totalResults = totalResults;
}

public int getTotalPages() {
return totalPages;
}

public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
}

7. Untuk mengirim permintaan jaringan ke API, kita perlu menggunakan Retrofit Builder
class dan menentukan URL dasar untuk layanan. Jadi, buat sebuah kelas bernama ApiClient.java 
bawah sisa paket.


package com.example.taufiq.retrofit.rest;

import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

/** * Created by Taufiq on 8/24/2016. */public class ApiClient {

public static final String BASE_URL = "http://api.themoviedb.org/3/";
private static Retrofit retrofit = null;


public static Retrofit getClient() {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
8.Buat API interface untuk memanggil API
package com.example.taufiq.retrofit.rest;

import com.example.taufiq.retrofit.model.MoviesResponse;
import com.example.taufiq.retrofit.model.MoviesResponse;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;

/** * Created by Taufiq on 8/24/2016. */public interface ApiInterface {
@GET("movie/top_rated")
Call<MoviesResponse> getTopRatedMovies(@Query("api_key") String apiKey);

@GET("movie/{id}")
Call<MoviesResponse> getMovieDetails(@Path("id") int id, @Query("api_key") String apiKey);
}
9.Mari kita membuat permintaan pertama dari MainActivity kami. Jika kita ingin mengkonsumsi API asynchronous, kita sebut layanan sebagai berikut. Buka MainActivity.java dan melakukan perubahan di bawah.


10. Mari kita membuat ListView untuk hasil diambil. Kami akan menggunakanRecyclerView untuk itu. Pertama-tama, menambahkannya ke gradle.gradle
compile 'com.android.support:recyclerview-v7:23.3.0'
11.Buka colors.xml dan menambahkan nilai warna di bawah ini.




<?xml version="1.0" encoding="utf-8"?>


<resources>


    <color name="colorPrimary">#3F51B5</color>


    <color name="colorPrimaryDark">#303F9F</color>


    <color name="colorAccent">#FF4081</color>




    <color name="orange">#FF3909</color>


    <color name="colorAccentDark">#00B482</color>




    <color name="colorBlack">#555555</color>


    <color name="colorWhite">#FFFFFF</color>


    <color name="colorGrey">#707070</color>


    <color name="colorGreyLight">#8A8A8A</color>


</resources>

12. Buat tata letak bernama star.xml bawah res ditarik dengan konten di bawah ini.


<!-- drawable/star.xml -->



    android:width="24dp"


    android:height="24dp"


    android:viewportHeight="24"


    android:viewportWidth="24">


    <path


        android:fillColor="#000"


        android:pathData="M12,17.27L18.18,21L16.54,13.97L22,

9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z" />


</vector>


13. Buat tata letak bernama list_item_movie.java bawah tata letak res.





14 .Adapter adalah pola umum yang membantu untuk mengikat melihat dan data, jadi mari kita menerapkan adaptor untuk ini. Buat kelas bernama MoviesAdapter.java dan tambahkan kode dibawah

package com.example.taufiq.retrofit.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.example.taufiq.retrofit.model.Movie;
import com.example.taufiq.retrofit.R;
import java.util.List;
/** * Created by Taufiq on 8/24/2016. */public class MoviesAdapter extends
RecyclerView.Adapter<MoviesAdapter.
MovieViewHolder> {

private List<Movie> movies;
private int rowLayout;
private Context context;


public static class MovieViewHolder extends RecyclerView.ViewHolder {
LinearLayout moviesLayout;
TextView movieTitle;
TextView data;
TextView movieDescription;
TextView rating;


public MovieViewHolder(View v) {
super(v);
moviesLayout = (LinearLayout) v.findViewById(R.id.movies_layout);
movieTitle = (TextView) v.findViewById(R.id.title);
data = (TextView) v.findViewById(R.id.subtitle);
movieDescription = (TextView) v.findViewById(R.id.description);
rating = (TextView) v.findViewById(R.id.rating);
}
}

public MoviesAdapter(List<Movie> movies, int rowLayout, Context context) {
this.movies = movies;
this.rowLayout = rowLayout;
this.context = context;
}

@Override public MoviesAdapter.MovieViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(rowLayout, parent, false);
return new MovieViewHolder(view);
}


@Override public void onBindViewHolder(MovieViewHolder holder, final int position) {
holder.movieTitle.setText(movies.get(position).getTitle());
holder.data.setText(movies.get(position).getReleaseDate());
holder.movieDescription.setText(movies.get(position).getOverview());
holder.rating.setText(movies.get(position).getVoteAverage().toString());
}

@Override public int getItemCount() {
return movies.size();
}
}

15. Buka MainActivity.java dan memodifikasi kode seperti di bawah ini.


16. Jalankan dan kemudian lihat kendahannya, pastikan kalian terkoneksi dengan internet ..

semoga bermanfaat ^_^

Membuat Splash Screen di Android

بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْمِ
Hasil Splash Screen dengan Animation Loading

Dipostingan kali ini saya akan membahas bagaimana cara membuat Splash Screen.

Splash Screen adalah tampilan awal sebuah aplikasi sebelum tampilan utama dimunculkan, nah bagaimana cara membuatnya ?
Yuk, kita buat sama – sama ..
1, Pertama persiapan membuat projek baru, File -> New -> Android Project beri nama dengan Beritaku
2. Next pilih android versi, disini saya menggunakan versi Ice Cream Sandwich
3. Next pilih Navigation Drawer
4. Next untuk pemberian nama activity xml dan java
5. Kemudian tambahkan plugin di grandle app plugin ini berfungsi untuk membuat animasinya saat loading
 compile ‘com.wang.avi:library:1.0.2’ 
6. Klik kanan pada folder java -> pilih activity -> empty activity

7. Untuk file *.java beri nama SplashScreen  dan untuk *.xml berikan nama dengan activity_splash_screen
8. Kemudian paste gambar yang ingin digunakan sebagai gambar splash didalam folder drawable
9. Buka file activity_splash_screen di folder res->layout, kemudian tambahkan kode XML berikut
10. Pada SplashScreen.Java tambahkan

Langkah terakhir ubah dan tambahkan di file manifes  

<!–Chance MainActivity like this, cut <intent-filter> until  </inten filter> and paste to Splash–> <activity     android:name=“.MainActivity”     android:label=“@string/app_name”     android:theme=“@style/AppTheme.NoActionBar” /> <activity     android:name=“.Splash”     android:theme=“@style/Theme.AppCompat.NoActionBar”>     <intent-filter>         <action android:name=“android.intent.action.MAIN” />          <category android:name=“android.intent.category.LAUNCHER” />     </intent-filter> </activity>
Semoga bermanfaat ^_^

Membuat Material Design di Android

Bismillah .

Kali ini saya akan memposting mengenai material design.
Material design adalah sebuah desain yang memiliki patern, color dan image resource yang telah disediakan oleh google sehingga kita bisa membuat aplikasi yang bagus dengan mengikuti standart google

Screenshoot aplikasi material design drawer

Tampilan Material Design






Yuk mulai membuat aplikasi material design .

Kemudian Buat beberapa Fragment

 Jangan Centang 2 kolom tersebut

kemudian tambahkan kode Activity_Main.xml

app_bar_main xml

contect_main.xml
fragment_kontak.xml fragment_main.xml fragment_pendaftaran.xml fragment_portofolio fragment_profile.xml fragment_tentang.xml fragment_header_main.xml Pada Java : MainActivity.java MainFragment.java
PendaftranFragment.java

package com.example.taufiqhidayah.materialdesignima;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;


/** * A simple {@link Fragment} subclass. */public class PendaftaranFragment extends Fragment {


public PendaftaranFragment() {
// Required empty public constructor }


WebView wb;
ProgressBar pg;

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saved) {
View v = inflater.inflate(R.layout.fragment_pendaftaran, null);

wb = (WebView) v.findViewById(R.id.webView1);
pg = (ProgressBar) v.findViewById(R.id.progressBar1);
wb.getSettings().setJavaScriptEnabled(true);
wb.setWebViewClient(new WebViewClient());
wb.getSettings().setDomStorageEnabled(true);
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
wb.getSettings().setSupportMultipleWindows(true);
wb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wb.setHorizontalScrollBarEnabled(false);
wb.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
wb.getSettings().setAllowFileAccessFromFileURLs(true);
wb.getSettings().setAllowUniversalAccessFromFileURLs(true);
wb.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
pg.setVisibility(View.VISIBLE);
pg.setProgress(progress);
if (progress == 100) {
pg.setVisibility(View.GONE);
}
}
});
pg.setVisibility(View.VISIBLE);
wb.loadUrl("http://www.imastudio.co.id/pendaftaran/");
return v;
}

@Override public void onPause() {
wb.onPause();
super.onPause();
}
}

 Portofolio.java

package com.example.taufiqhidayah.materialdesignima;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;


/** * A simple {@link Fragment} subclass. */public class PortofolioFragment extends Fragment {

WebView wb;
ProgressBar pg;

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle saved) {
View v = inflater.inflate(R.layout.fragment_portofolio, null);

wb = (WebView) v.findViewById(R.id.webView2);
pg = (ProgressBar) v.findViewById(R.id.progressBar2);
wb.getSettings().setJavaScriptEnabled(true);
wb.setWebViewClient(new WebViewClient());
wb.getSettings().setDomStorageEnabled(true);
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
wb.getSettings().setSupportMultipleWindows(true);
wb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wb.setHorizontalScrollBarEnabled(false);
wb.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
wb.getSettings().setAllowFileAccessFromFileURLs(true);
wb.getSettings().setAllowUniversalAccessFromFileURLs(true);
wb.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
pg.setVisibility(View.VISIBLE);
pg.setProgress(progress);
if (progress == 100) {
pg.setVisibility(View.GONE);
}
}
});
pg.setVisibility(View.VISIBLE);
wb.loadUrl("http://www.imastudio.co.id/portfolio/");
return v;
}

@Override public void onPause() {
wb.onPause();
super.onPause();
}
}
 
Di Manifest tambahkan 
    <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

 Di Buil.grandel app tambahkan

compile 'de.hdodenhof:circleimageview:1.3.0'
 

Membuat Galeri Foto Slider di Android

Bismillah ..

Kali ini saya akan membagikan tutorial mengenai bagaimana cara membuat Galeri Foto Slider di Android dengan menggunakan view pager.

Saat digeser

Posisi satu gambar

Langkah-Langkah Pembuatannya .

  1. Buat projek baru 
  2. Tambahkan beberapa image ke dalam folder drawable serta buat new file xml
  3.  Tambahkan kode di activity_main.xml
     
  4. Tambahkan kode di galeri_item.xml
  5. Buatlah sebuah file java
  6. kemudian tambahkan kode di MainActivity.java
  7. Kemudian di ViewPagerAdaptar tambahkan kode berikut

Membuat Webview Sederhana di Android

Bismillah ..

Kali ini saya akan berbagi tutorial bagaimana cara membaut webview di android.
sebelum melaju ke tutorialnya. Saya akan menjelaskan sedikit tentang webview.
Apa sih webview ?
Webview memungkinkan kita untuk meng-embeb sebuah website kedalam layout android.
untuk membuatnyapun hannya menambahkan webview di xml dan sedikit kode logika di Java

langsung saja ..

Ini Tampilan Jadinya
  1. Buatlah sebuah projek 
  2. Kemudian pilihkah empty activity
  3. Pada bagian activity_main tambahkan kode.
  4. Kemudian pada MainActivity.java tambahkan kode

Terakhir tambahkan di manifestnya

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
 
Semoga bermanfaat ^_^