int array[] = {1,2,3};
Intent i = new Intent(A.this, B.class);
i.putExtra("numbers", array);
startActivity(i);
Bundle extras = getIntent().getExtras();
int[] arrayB = extras.getIntArray("numbers");
import java.util.Timer;
import java.util.TimerTask;
long starttime = 0;
Timer timer = new Timer();
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xxx);
lihat();
final Handler h = new Handler(new Callback() {
@Override
public boolean
handleMessage(Message msg) {
long millis = System.currentTimeMillis()
- starttime;
int seconds = (int) (millis / 1000);
int minutes = seconds /
60;
seconds = seconds % 60;
if (minutes >=0
&& seconds >=20){selesai();}
txtTimer.setText(String.format("Waktu Anda
ini :"+"%d:%02d"+" (max=> 3:20)", minutes, seconds));
return false;
}
});
class firstTask extends TimerTask {
@Override
public void run()
{h.sendEmptyMessage(0);}
};
starttime = System.currentTimeMillis();
timer.schedule(new firstTask(),
0,1000);
}// setContentView
public void selesai(){
new AlertDialog.Builder(this)
.setTitle("Selesai
Angka")
.setMessage("Terimakasih...
Anda Telah Melakukan tes TPA Angka")
.setNeutralButton("Tutup", new
DialogInterface.OnClickListener() {
public void
onClick(DialogInterface dlg, int sumthin) {
finish();
timer.cancel();
timer.purge();
Intent i= new Intent(soal_angka.this, hasil.class);
i.putExtra("nama", sNama);
i.putExtra("usia", sUsia);
i.putExtra("jk", sJK);
i.putExtra("record", record);
i.putExtra("kategori", "Tes
Angka");
i.putExtra("jumbenar", String.valueOf(jumbenar));
startActivity(i);
}})
.show();
}
int o = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;setRequestedOrientation(o);
int o =
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;setRequestedOrientation(o);
Button
ImageView callImage = (ImageView) findViewById(R.id.pilGambar);
ImageView callImage = (ImageView) findViewById(R.id.pilGambar);
callImage.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent call= new
Intent(getBaseContext(), registrasi.class);
call.putExtra("pesan", "register");
startActivity(call); }
});
================================================================
Button btnTelp=(Button)findViewById(R.id.detCall);
btnTelp.setOnClickListener(new View.OnClickListener() {
public void
onClick(View arg0) {
String
toDial="tel:"+telepon;
startActivity(new
Intent(Intent.ACTION_DIAL,Uri.parse(toDial)));
}});
Button btnMap=(Button)findViewById(R.id.detMap);
btnMap.setOnClickListener(new View.OnClickListener() {
public void
onClick(View arg0) {
Intent intent
= new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("https://maps.google.com/maps?saddr="+myLati+","+myLongi+"&daddr="+latitude+","+longitude));
startActivity(intent);
}});
getData
Intent call = this.getIntent();
String pesan=call.getStringExtra("pesan");
public void loading(){
new Thread() {
public void run() {
try{Thread.sleep(5000);}
catch (Exception e) {}
Intent i = new Intent(MainActivity.this, menu.class);
startActivity(i);
finish();
}
}.start();
}
<ProgressBar android:id="@+id/progress_horizontal"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:max="100"
android:progress="50"
android:secondaryProgress="75" />
===========================================================================================
ProgressDialog progressBar;
private int progressBarStatus = 0;
private Handler progressBarHandler = new Handler();
public void LOADING100() {
progressBar = new ProgressDialog(this);
progressBar.setCancelable(true);
progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressBar.setProgress(0);
progressBar.setMax(100);
progressBar.show();
progressBarStatus = 0;
fileSize = 0;
new Thread(new Runnable() {
public void run() {
while (progressBarStatus < 100) {
// process
some tasks
progressBarStatus =
doSomeTasks();
// your
computer is too fast, sleep 1 second
try {Thread.sleep(1000);}
catch
(InterruptedException e) {e.printStackTrace();}
// Update the
progress bar
progressBarHandler.post(new Runnable() {
public void run() {progressBar.setProgress(progressBarStatus);}});}
// ok,
file is downloaded,
if (progressBarStatus >= 100) {
// sleep 2
seconds, so that you can see the 100%
try {Thread.sleep(2000);}
catch
(InterruptedException e) {e.printStackTrace();}
progressBar.dismiss();
}}}).start();
}
// file download
simulator... a really simple
public int doSomeTasks() {
while (fileSize <= 1000000)
{
fileSize++;
if (fileSize == 100000) {return 10;}
else if (fileSize == 200000) {return 20;}
else if (fileSize == 300000) {return 30;}
// ...add your
own
}
return 100;
}
final ProgressDialog myProgressDialog = ProgressDialog.show(main.this, "Loading", "Mohon Tunggu...", true);
new Thread() {
public void run() {
try{Thread.sleep(5000);}
catch (Exception e) {}
Intent i = new Intent(main.this, Menu.class);
myProgressDialog.dismiss();
main.this.finish();
startActivity(i);
} }.start();
}
startActivity(i);
} }.start();
}
marquee
<TextView
android:id="@+id/txtMarquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="selamat datang di aplikasi android "
android:textSize="14sp"
android:layout_x="3px"
android:layout_y="4px"
android:typeface="sans"
android:textColor="#0000ff"
android:background="#000000"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever">
</TextView>
void callMarquee(){
Calendar cal =
Calendar.getInstance();
int jam =
cal.get(Calendar.HOUR);
int menit=
cal.get(Calendar.MINUTE);
int detik=
cal.get(Calendar.SECOND);
int tgl=
cal.get(Calendar.DATE);
int bln=
cal.get(Calendar.MONTH);
int thn=
cal.get(Calendar.YEAR);
String
stgl=String.valueOf(tgl)+"-"+String.valueOf(bln)+"-"+String.valueOf(thn);
String
sjam=String.valueOf(jam)+":"+String.valueOf(menit)+":"+String.valueOf(detik);
TextView txtMarquee=(TextView)findViewById(R.id.txtMarquee);
txtMarquee.setSelected(true);
String kata="Selamat
Datang di Aplikasi Android "+stgl+"/"+sjam+" #";
String
kalimat=String.format("%1$s",TextUtils.htmlEncode(kata));
txtMarquee.setText(Html.fromHtml(kalimat+kalimat+kalimat));
}
Play SONG:
MediaPlayer mp =
MediaPlayer.create(this, R.raw.lonely);
if(!mp.isPlaying()){
mp.start();mp.setLooping(true);
Toast.makeText(this, "Play
Lagu....",Toast.LENGTH_LONG).show();
Message
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Matrix;
import android.app.AlertDialog;
public void keluar(){
new AlertDialog.Builder(this)
.setTitle("Menutup Aplikasi")
.setMessage("Terimakasih... Anda Telah Menggunakan Aplikasi Ini")
.setNeutralButton("Tutup", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dlg, int sumthin) {
finish();
}})
.show();
}
public void keluarYN(){
AlertDialog.Builder ad=new AlertDialog.Builder(formstuffkoleksi.this);
ad.setTitle("Konfirmasi");
ad.setMessage("Apakah benar ingin keluar?");
ad.setPositiveButton("OK",new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
keluar();
}});
ad.setNegativeButton("No",new OnClickListener(){
public void onClick(DialogInterface arg0, int arg1) {
}});
ad.show();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
keluarYN();
return true;
}
return super.onKeyDown(keyCode, event);
}
Menu
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 7, 0, "Aplikasi").setIcon(R.drawable.icon1);
menu.add(0, 1, 0, "Setting").setIcon(R.drawable.icon2);
menu.add(0, 2, 0, "Profil").setIcon(R.drawable.icon3);
menu.add(0, 3, 0, "Keluar").setIcon(R.drawable.keluar);
SubMenu subMenu =
menu.addSubMenu("Mata Uang");//default 0
subMenu.add(1, 4, 0,
"Dolar").setChecked(true);
subMenu.add(1, 5, 0,
"Euro");
subMenu.add(1, 6, 0,
"Pounds");
subMenu.setGroupCheckable(1, true, true);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 2: Toast.makeText(this, "You clicked O",Toast.LENGTH_LONG).show();
return true;
case 3: Toast.makeText(this, "You Keluar",Toast.LENGTH_LONG).show();
return true;
case 4: item.setChecked(true);jenis="Dollar";
Toast.makeText(this, "You clicked on Dollar",Toast.LENGTH_LONG).show();
return true;
case 5: item.setChecked(true);jenis="Euro";
Toast.makeText(this, "You clicked on Euro",Toast.LENGTH_LONG).show();
return true;
case 6: item.setChecked(true);jenis="Pounds";
Toast.makeText(this, "You clicked on Pounds",Toast.LENGTH_LONG).show();
return true;
}
return false;
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "Arsip").setIcon(R.drawable.keluar);
return
true;
}
public
boolean onOptionsItemSelected(MenuItem item) {
switch
(item.getItemId()) {
case 1:
Intent put= new Intent(getBaseContext(),
listdataDB.class);
startActivity(put);
return true;
}
return
false;
}
AutoCompleteTextView
<AutoCompleteTextView android:id="@+id/ltlahir" />
AutoCompleteTextView
actvTlahir = (AutoCompleteTextView) this.findViewById(R.id.ltlahir);
String[]pilPulau=new String[] {"Sumatera","Jawa","Kalimantan","Sulawesi","Maluku","Irian
Jaya"};
ArrayAdapter<String> tlahir = new
ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,pilPulau);
actvTlahir.setAdapter(tlahir);
spinner
<Spinner
android:id="@+id/spinAgama" android:drawSelectorOnTop="true" android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
String[]pilAgama={"Islam","Kristen","Hindu","Budha","Kepercayaan"};
Spinner mySpin = (Spinner) findViewById(R.id.spinAgama);
ArrayAdapter<String> adapter = new
ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, pilAgama);
mySpin.setAdapter(adapter);
mySpin.setOnItemSelectedListener( new
OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0,View arg1, int arg2, long arg3){
int index = mySpin.getSelectedItemPosition();
Toast.makeText(getBaseContext(),"Pilihan Anda
: "
+ pilAgama[index], Toast.LENGTH_SHORT).show();}
public void onNothingSelected(AdapterView<?> arg0){}
});
CheckBox
<CheckBox
android:id="@+id/chkStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sudah Bekerja" />
final CheckBox chkStatus = (CheckBox) findViewById(R.id.chkStatus);
chkStatus.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {Toast.makeText(getBaseContext(),
"Status
Selected", Toast.LENGTH_SHORT).show();}
else {Toast.makeText(getBaseContext(), "Status Not
selected", Toast.LENGTH_SHORT).show();}
}
});
TAB
public class formTabStd2Lp2mAray extends TabActivity {
/** Called when the activity is first
created. */
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost host = this.getTabHost();
host.addTab(host.newTabSpec("one")
.setIndicator("APLIKASI", getResources().getDrawable(R.drawable.icon1))
.setContent(new
Intent(this, profil.class)));
Intent intentCari= new
Intent().setClass(this, tentang.class);
host.addTab(host.newTabSpec("two")
.setIndicator("PENCARIAN")
.setContent(intentCari));
host.addTab(host.newTabSpec("three")
.setIndicator("KOSAKATA")
.setContent(new Intent(this,
profil.class)));
host.setCurrentTab(0);
}
}
LOAD WEB ASSET/URL
public class loadJqueryOL extends Activity {
public class loadJqueryOL extends Activity {
WebView webView;
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.jquery);
webView = (WebView)
findViewById(R.id.webview);
WebSettings webSettings =
webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new
WebViewClient());
webView.loadUrl("file:///android_asset/jqueryoff.html");
return;
}
//letakkkan library di asset jg
//<link href="jquery.mobile-1.0.1.min.css"
rel="stylesheet" type="text/css">
//<script src="jquery-1.6.4.min.js"></script>
//<script src="jquery.mobile-1.0.1.min.js"></script>
Web.xml
<?xml version="1.0" encoding="utf-8"?>
<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none" />
LIST
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
import android.app.Activity;
import
android.content.Intent;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.ArrayAdapter;
import
android.widget.ListView;
import
android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import
android.widget.AdapterView.OnItemSelectedListener;
public class
listlp2maray extends Activity {
ListView s1;
int jd=0;
String[] arrKursus;
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
jd=3;
arrKursus=new String[jd];
arrKursus[0]="PHP dan Mysql";
arrKursus[1]="Desain Grafis";
arrKursus[2]="Matlab
Advance";
s1=(ListView)findViewById(R.id.listView);
ArrayAdapter<String>
adapter = new
ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
arrKursus);
s1.setAdapter(adapter);
s1.setOnItemClickListener(new
OnItemClickListener() {
@Override
public void
onItemClick(AdapterView<?> a, View v, int p, long id) {
Toast.makeText(getBaseContext(),
" Kursus pilihan Anda : " +
arrKursus[p],Toast.LENGTH_LONG).show();
Intent i = new
Intent(listlp2maray.this, listlp2maray.class);
i.putExtra("kursus", arrKursus[p]);
startActivity(i);
}
});
s1.setOnItemSelectedListener(new
OnItemSelectedListener(){
public void
onNothingSelected(AdapterView<?> arg0) {}
@Override
public void
onItemSelected(AdapterView<?> arg0, View arg1, int p,long arg3) {
Toast.makeText(getBaseContext(),
" Kursus pilihan Anda : " +
arrKursus[p],Toast.LENGTH_LONG).show();
Intent i = new
Intent(listlp2maray.this, listlp2maray.class);
i.putExtra("kursus",
arrKursus[p]);
startActivity(i);
}
});
}
}
Load image dari drawable String
private void showImage() {
String uri = "drawable/icon";
// int imageResource = R.drawable.icon;
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
ImageView imageView = (ImageView) findViewById(R.id.myImageView);
Drawable image = getResources().getDrawable(imageResource);
imageView.setImageDrawable(image);
}
Dial:
String
toDial="tel:"+number.getText().toString();
startActivity(new
Intent(Intent.ACTION_DIAL,Uri.parse(toDial)));
PROPERTIES
android:typeface="sans"
android:typeface="sans"
android:textColor="#ff00ff33"
inputType =phone
inputType =text
inputType =text
<EditText
android:inputType="text|textEmailAddress"/>
<EditText android:inputType="number|numberSigned|numberDecimal"/>
<EditText
android:inputType="date"/>
<EditText
android:inputType="text|textMultiLine|textAutoCorrect"
android:minLines="3" android:gravity="top"/>
<DatePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TimePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<activity
android:theme="@android:style/Theme.Dialog"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
http://maps.google.com/maps?saddr=-6.358464,106.829481&daddr=-6.316834,106.837378+to:-6.331337,106.834459+to:-6.326218,106.809912+to:-6.303184,106.839609
<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"
tools:context=".MainActivity"
>
<ScrollView
android:layout_marginBottom="50dip"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#999999"
>
<TableLayout>
<TableRow>
<TextView android:text="Selamat
Datang" />
</TableRow>
<TableRow
>
<ImageView android:id="@+id/myGambar"
android:src="@drawable/info"/>
</TableRow>
<TableRow
android:id="@+id/TableRow00" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button
android:id="@+id/btnPlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtPesan"
android:layout_marginTop="51dp"
android:text="PlaySong"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow00" android:layout_width="wrap_content" android:layout_height="wrap_content">
<EditText android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/edKonversi"
android:layout_height="wrap_content"
android:text="100"
android:layout_width="wrap_content">
</EditText>
</TableRow>
<TableRow
android:id="@+id/TableRow00" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:id="@+id/txtHasil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Hasil
Konversi" />
</TableRow>
<TableRow
android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:id="@+id/mainMarquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="selamat datang di aplikasi android "
android:textSize="14sp"
android:layout_x="3px"
android:layout_y="4px"
android:typeface="sans"
android:textColor="#0000ff"
android:background="#000000"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever">
</TextView>
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="50dip"
>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
>
<TableRow
android:id="@+id/TableRowmarquee" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:id="@+id/mainMarquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="selamat datang di aplikasi android "
android:textSize="14sp"
android:layout_x="3px"
android:layout_y="4px"
android:typeface="sans"
android:textColor="#0000ff"
android:background="#000000"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever">
</TextView>
</TableRow>
<TextView
android:id="@+id/txtwellcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:text="Silakan isi
form registrasi :"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<TableRow>
<TextView
android:text="Nama:" />
<EditText
android:id="@+id/lnama" />
</TableRow>
<TableRow>
<TextView
android:text="Tmp lahir:" />
<AutoCompleteTextView android:id="@+id/ltlahir"
/>
</TableRow>
<TableRow>
<TextView android:text="Tgl
Lahir:" />
<DatePicker
android:id="@+id/dpTglLahir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</TableRow>
<TableRow>
<TextView
android:text="Jenis_Kelamin:" />
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton android:id="@+id/radPa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Laki-laki"
android:checked="true"
/>
<RadioButton android:id="@+id/radPi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Perempuan"
/>
</RadioGroup>
</TableRow>
<TableRow>
<TextView
android:text="Telepon:" />
<EditText
android:id="@+id/ltelp" android:inputType ="phone" />
</TableRow>
<TableRow>
<TextView
android:text="Agama:" />
<Spinner
android:id="@+id/spinAgama"
android:drawSelectorOnTop="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</TableRow>
<TableRow>
<TextView
android:text="Status:" />
<CheckBox android:id="@+id/chkStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sudah
Bekerja" />
</TableRow>
<TableRow>
<TextView
android:text="Alamat" />
<EditText
android:id="@+id/lalamat"
android:singleLine="false"
android:gravity="top"
android:lines="2"
android:scrollHorizontally="false"
android:maxLines="2"
android:maxWidth="200sp"
/>
</TableRow>
<ImageView
android:id="@+id/pilGambar"
android:layout_width="wrap_content"
android:layout_height="140dp"
android:background="@drawable/user"
android:padding="10dp"
/>
<TableRow>
<Button android:id="@+id/btnClear"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Clear"
android:visibility="visible"
/>
<Button android:id="@+id/btnSave"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Save"
/>
</TableRow>
</TableLayout>
</ScrollView>
Detail.xml
<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"
tools:context=".MainActivity"
>
<ScrollView
android:layout_marginBottom="50dip"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#999999"
>
<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#fff">
<TextView
android:id="@+id/txtMarquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="14sp"
android:layout_x="3px"
android:layout_y="4px"
android:typeface="sans"
android:textColor="#0000ff"
android:background="#000000"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever">
</TextView>
<ImageView
android:id="@+id/myGambar"
android:layout_centerHorizontal="true"
android:src="@drawable/gunung"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TableRow
android:id="@+id/TableRow00" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Kode
Wisata:" />
<TextView android:id="@+id/ikode_wisata"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow10" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Nama
Wisata:" />
<TextView android:id="@+id/inama_wisata"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Alamat :"/>
<TextView android:id="@+id/ialamat"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Jarak :"/>
<TextView android:id="@+id/ijarak"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow03" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Koordinat
:"/>
<TextView android:id="@+id/ikoordinat"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow04" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Fasilitas
:"/>
<TextView android:id="@+id/iketerangan"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow05" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Catatan
:"/>
<TextView android:id="@+id/ideskripsi"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow06" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Posisi Anda
:"/>
<TextView android:id="@+id/iposanda"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow06" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:id="@+id/btnDirection"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Go
Direction"
android:visibility="visible"
/>
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
Detail.java
import
android.os.Bundle;
import
android.app.Activity;
import
android.content.Intent;
import
android.view.Menu;
import
android.view.View;
import
android.widget.Button;
import
android.widget.ImageView;
import
android.widget.TextView;
public class detail
extends Activity {
String mylati="6.173174";
String mylongi="106.825476";
String myposisi="Kampus Universitas Gunadarma Kelapa
Dua";
String
kode_wisata,nama_wisata,alamat,latitude,longitude,jarak,gambar,keterangan,deskripsi;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);
Intent io = this.getIntent();
kode_wisata=io.getStringExtra("kode_wisata");
nama_wisata=io.getStringExtra("nama_wisata");
alamat=io.getStringExtra("alamat");
latitude=io.getStringExtra("latitude");
longitude=io.getStringExtra("longitude");
jarak=io.getStringExtra("jarak");
gambar=io.getStringExtra("gambar");
keterangan=io.getStringExtra("keterangan");
deskripsi=io.getStringExtra("deskripsi");
mylati=io.getStringExtra("mylati");
mylongi=io.getStringExtra("mylongi");
myposisi=io.getStringExtra("myposisi");
TextView txtKode=(TextView)findViewById(R.id.ikode_wisata);
TextView
txtNama=(TextView)findViewById(R.id.inama_wisata);
TextView
txtAlamat=(TextView)findViewById(R.id.ialamat);
TextView
txtKoordinat=(TextView)findViewById(R.id.ikoordinat);
TextView txtJarak=(TextView)findViewById(R.id.ijarak);
TextView
txtKet=(TextView)findViewById(R.id.iketerangan);
TextView
txtDes=(TextView)findViewById(R.id.ideskripsi);
TextView
txtPos=(TextView)findViewById(R.id.iposanda);
txtKode.setText(kode_wisata);
txtNama.setText(nama_wisata);
txtJarak.setText(jarak+"
Km");
txtAlamat.setText(alamat);
txtKoordinat.setText(latitude+","+longitude);
txtKet.setText(keterangan);
txtDes.setText(deskripsi);
txtPos.setText(myposisi+"
("+mylati+","+mylongi+")");
Button
btnmap=(Button)findViewById(R.id.btnDirection);
btnmap.setOnClickListener(new
View.OnClickListener() {
public void onClick(View arg0) {
Intent i= new Intent(detail.this, map.class);
startActivity(i);
}});
}
}
Inputnama.xml
<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"
tools:context=".MainActivity"
>
<ScrollView
android:layout_marginBottom="50dip"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#999999"
>
<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#fff">
<TextView
android:id="@+id/txtMarquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="14sp"
android:layout_x="3px"
android:layout_y="4px"
android:typeface="sans"
android:textColor="#0000ff"
android:background="#000000"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever">
</TextView>
<ImageView
android:id="@+id/myGambar"
android:layout_centerHorizontal="true"
android:src="@drawable/user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TableRow
android:id="@+id/TableRow00" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Nama "
/>
<EditText android:id="@+id/inama"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Usia "/>
<EditText android:id="@+id/iusia" android:inputType="number|numberSigned|numberDecimal"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Jenis
Kelamin"/>
<RadioGroup
android:id="@+id/RadioGroup01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton android:text="Laki-laki"
android:id="@+id/radPa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textColor="#000">
</RadioButton>
<RadioButton android:text="Perempuan"
android:id="@+id/radPi"
android:layout_width="wrap_content"
android:textColor="#000"
android:layout_height="wrap_content">
</RadioButton>
</RadioGroup>
</TableRow>
<TableRow
android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:id="@+id/iBatal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Batal"
/>
<Button android:id="@+id/iOk"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="OK"
android:visibility="visible"
/>
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
Inputnama.xml
<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"
tools:context=".MainActivity"
>
<ScrollView
android:layout_marginBottom="50dip"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#999999"
>
<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#fff">
<TextView
android:id="@+id/txtMarquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="14sp"
android:layout_x="3px"
android:layout_y="4px"
android:typeface="sans"
android:textColor="#0000ff"
android:background="#000000"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever">
</TextView>
<ImageView
android:id="@+id/myGambar"
android:layout_centerHorizontal="true"
android:src="@drawable/user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TableRow
android:id="@+id/TableRow00" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Nama "
/>
<EditText android:id="@+id/inama" />
</TableRow>
<TableRow
android:id="@+id/TableRow01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Usia "/>
<EditText android:id="@+id/iusia" android:inputType="number|numberSigned|numberDecimal"
/>
</TableRow>
<TableRow
android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:text="Jenis
Kelamin"/>
<RadioGroup
android:id="@+id/RadioGroup01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton android:text="Laki-laki"
android:id="@+id/radPa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textColor="#000">
</RadioButton>
<RadioButton android:text="Perempuan"
android:id="@+id/radPi"
android:layout_width="wrap_content"
android:textColor="#000"
android:layout_height="wrap_content">
</RadioButton>
</RadioGroup>
</TableRow>
<TableRow
android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:id="@+id/iBatal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Batal"
/>
<Button android:id="@+id/iOk"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="OK"
android:visibility="visible"
/>
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
Inputnama.java
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import
android.content.DialogInterface.OnClickListener;
import android.text.Html;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
public class inputnama extends Activity {
EditText
txtnama,txtusia;
RadioButton
radPa,radPi;
String
jk="Laki-laki";
@Override
protected
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.inputnama);
callMarquee();
txtnama=
(EditText) findViewById(R.id.inama);
txtusia=
(EditText) findViewById(R.id.iusia);
radPa=
(RadioButton) findViewById(R.id.radPa);
radPa.setOnClickListener(new View.OnClickListener() {
@Override
public
void onClick(View v) {
jk="Laki-laki";
}
});
radPi=
(RadioButton) findViewById(R.id.radPi);
radPi.setOnClickListener(new View.OnClickListener() {
@Override
public
void onClick(View v) {
jk="Perempuan";
}
});
Button
btnOk= (Button) findViewById(R.id.iOk);
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public
void onClick(View v) {
String
nama=txtnama.getText().toString();
String
usia=txtusia.getText().toString();
if(nama.length()<1){lengkapi("Nama");}
else
if(usia.length()<1){lengkapi("Usia");}
else{
Intent
put= new Intent(getBaseContext(), soalsoal.class);
put.putExtra("nama",
nama);
put.putExtra("usia",
usia);
put.putExtra("jk",
jk);
startActivity(put);
}
}
});
Button btnBatal= (Button)
findViewById(R.id.iBatal);
btnBatal.setOnClickListener(new View.OnClickListener() {
@Override
public
void onClick(View v) {
keluar();
}
});
}
public void
lengkapi(String item){
new AlertDialog.Builder(this)
.setTitle("Lengkapi
Data")
.setMessage("Silakan
lengkapi data "+item)
.setNeutralButton("OK",
new DialogInterface.OnClickListener() {
public
void onClick(DialogInterface dlg, int sumthin) {
}})
.show();
}
public void
keluar(){
new AlertDialog.Builder(this)
.setTitle("Menutup
Aplikasi")
.setMessage("Terimakasih...
Anda Telah Menggunakan Aplikasi Ini")
.setNeutralButton("Tutup",
new DialogInterface.OnClickListener() {
public
void onClick(DialogInterface dlg, int sumthin) {
finish();
}})
.show();
}
public void
keluarYN(){
AlertDialog.Builder ad=new
AlertDialog.Builder(inputnama.this);
ad.setTitle("Konfirmasi");
ad.setMessage("Apakah benar ingin keluar?");
ad.setPositiveButton("OK",new
OnClickListener(){
@Override
public
void onClick(DialogInterface dialog, int which) {
keluar();
}});
ad.setNegativeButton("No",new
OnClickListener(){
public
void onClick(DialogInterface arg0, int arg1) {
}});
ad.show();
}
public
boolean onKeyDown(int keyCode, KeyEvent event) {
if
(keyCode == KeyEvent.KEYCODE_BACK) {
keluarYN();
return true;
}
return
super.onKeyDown(keyCode, event);
}
void
callMarquee(){
Calendar cal =
Calendar.getInstance();
int jam =
cal.get(Calendar.HOUR);
int menit=
cal.get(Calendar.MINUTE);
int detik=
cal.get(Calendar.SECOND);
int tgl=
cal.get(Calendar.DATE);
int bln=
cal.get(Calendar.MONTH);
int thn=
cal.get(Calendar.YEAR);
String
stgl=String.valueOf(tgl)+"-"+String.valueOf(bln)+"-"+String.valueOf(thn);
String sjam=String.valueOf(jam)+":"+String.valueOf(menit)+":"+String.valueOf(detik);
TextView
txtMarquee=(TextView)findViewById(R.id.txtMarquee);
txtMarquee.setSelected(true);
String kata="Selamat Datang di Aplikasi Android
..Selamat Mengerjakan /"+stgl+"/"+sjam+" #";
String kalimat=String.format("%1$s",TextUtils.htmlEncode(kata));
txtMarquee.setText(Html.fromHtml(kalimat+kalimat+kalimat));
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "Arsip").setIcon(R.drawable.keluar);
return
true;
}
public
boolean onOptionsItemSelected(MenuItem item) {
switch
(item.getItemId()) {
case 1:
Intent put= new Intent(getBaseContext(),
listdataDB.class);
startActivity(put);
return true;
}
return false;
}
}
https://code.google.com/apis/console/
MainActivity.java
package com.lp2maray.ui;
package com.lp2maray.ui;
import
com.google.android.gms.maps.CameraUpdateFactory;
import
com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import
com.google.android.gms.maps.model.LatLng;
import
com.google.android.gms.maps.model.MarkerOptions;
import
android.os.Bundle;
import
android.support.v4.app.FragmentActivity;
public class
MainActivity extends FragmentActivity{
private GoogleMap map;
@Override
protected void onCreate(Bundle
savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupMap();
}
private void setupMap(){
if (map == null){
map = ((SupportMapFragment)
getSupportFragmentManager().findFragmentById(R.id.maps)).getMap();
if (map != null){
map.addMarker(new
MarkerOptions().position(new LatLng(-6.353868, 106.832845)).title("lp2m
aray")
.snippet(“Halte
Kampus UI Depok”)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new
LatLng(-6.353868, 106.832845),10));
}
}
}
}
--------------------------------------------------------------
<RelativeLayout
--------------------------------------------------------------
<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"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world"
/>
<fragment
android:id="@+id/maps"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
/>
</RelativeLayout>
----------------------------------------
----------------------------------------
<?xml version="1.0"
encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lp2maray.ui"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"
/>
<permission android:name="com.example.tesmap.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.example.tesmap.permission.MAPS_RECEIVE"
/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"
/>
<uses-permission android:name="android.permission.INTERNET"
/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
/>
<uses-feature android:glEsVersion="0x00020000" android:required="true"
/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<!-- Google Maps
API V2 -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyBB4xNonnjwaYlVWjofX1heCuJ97I3IsNA"
/>
<activity
android:name="com.example.tesmap.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>
public static void BubbleSort(){
int j;
boolean flag = true; // set flag to true to begin first pass
double temp=0.0; //holding variable
String stemp="";
while ( flag ){
flag= false; //set flag to false awaiting a possible
swap
for( j=0; j < jd -1;
j++ ){
if ( dJarak[ j ] > dJarak[j+1] ) {
temp = dJarak[ j ];
dJarak[ j ] = dJarak[ j+1 ];
dJarak[ j+1 ] = temp;
stemp=arNama[j];
arNama[ j ] = arNama[ j+1 ];
arNama[ j+1 ] = stemp;
flag = true;
}
}
}
}
==============================================================================================
==============================================================================================
LOAD URL IMAGE
new DownloadImageTask((ImageView) findViewById(R.id.dlGambar)).execute(arUrlFoto);
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
new DownloadImageTask((ImageView) findViewById(R.id.dlGambar)).execute(arUrlFoto);
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public
DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap
doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
}
catch (Exception e) {Log.e("Error", e.getMessage());e.printStackTrace();}
catch (Exception e) {Log.e("Error", e.getMessage());e.printStackTrace();}
return mIcon11;
}
protected void onPostExecute(Bitmap
result) {bmImage.setImageBitmap(result);
}
}
=====================================================================
=====================================================================
public static double hitJarak(double lat1, double lng1, double lat2, double lng2) {
double earthRadius = 3958.75;
double dLat = Math.toRadians(lat2-lat1);
double dLng = Math.toRadians(lng2-lng1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2)
+
Math.cos(Math.toRadians(lat1))
* Math.cos(Math.toRadians(lat2)) *
Math.sin(dLng/2) * Math.sin(dLng/2);
double c = 2 * Math.atan2(Math.sqrt(a),
Math.sqrt(1-a));
double dist = earthRadius * c;
int meterConversion = 1609;
double myjr=dist * meterConversion;
return Math.floor(myjr/1000);
}
ImageView k1 = (ImageView) this.findViewById(R.id.cmdCari);
k1.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View arg0) {
String
kata=txtCari.getText().toString();
String
alamat="";
try {
alamat="http://translate.google.com.tw/translate_a/t?client=t&hl=en&sl=id&tl=fr&ie=UTF-8&oe=UTF-8&multires=1&oc=1&otf=2&ssel=0&tsel=0&sc=1&q=" + URLEncoder.encode(kata,
"UTF-8");
}
catch
(UnsupportedEncodingException e1) {
// TODO Auto-generated
catch block
e1.printStackTrace();
}
XMLParser
parser = new XMLParser();
String
xml=null;
try {
xml
= parser.getXmlFromUrl(alamat);
String
kal=translate(xml);
txtHasil.setText(kal);
}
catch (Exception e) {
// TODO Auto-generated
catch block
e.printStackTrace();
txtHasil.setText("err data
");
}
}
});
}
String
translate(String result){
result =
result.substring(2, result.indexOf("]]") + 1);
StringBuilder sb = new StringBuilder();
String[] splits = result.split("(?<!\\\\)\"");
for(int i = 1; i <
splits.length; i += 8)
sb.append(splits[i]);
return
sb.toString().replace("\\n", "\n").replaceAll("\\\\(.)", "$1");
}
Button
btnProses=(Button)findViewById(R.id.button1);
btnProses.setOnClickListener(new
View.OnClickListener() {
public void onClick(View arg0) {
myip=txtIp.getText().toString();
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}});
}
public void onActivityResult(int requestCode, int resultCode, Intent
intent) {
if (requestCode == 0) {
try{
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format =
intent.getStringExtra("SCAN_RESULT_FORMAT");
qr=contents;
XMLParser
parser = new XMLParser();
String
xml=null;
URL = myip+"/simonas/posisi.php?tn="+qr+"&ket=ok";
URL = myip+"/simonas/posisi.php?tn="+qr+"&ket=ok";
//Toast.makeText(menu.this,"URL:"+URL,
Toast.LENGTH_LONG).show();
xml
= parser.getXmlFromUrl(URL);
if(xml.indexOf("Tiket")>=0){ pesan(xml);
}
}
else if (resultCode == RESULT_CANCELED) {qr=""; batal();}
}
catch(Exception ee){ qr="";salah();}
}
}
map.addMarker(new
MarkerOptions().position(new LatLng(alat, alon)).title("Posisi Anda").snippet(myCity).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
String in(String p,String k){
String l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghipqrstuvwxyz0123456789!@#&%*()-_=:,.'?/$^
";
int pms=l.length();
int pln=p.length();
int ky=k.length();
String
y =k;
int m = pln%ky;
for( int i=1; i<pln/ky ;
i++){k=k+y;}
k=k+k.substring(0,m);
System.out.println("Key2
Text:\t"+k);
System.out.println("=============================================");
String c="";
for (int j=0; j<pln; j++
){
char hsl=l.charAt((l.indexOf(k.charAt(j))
+ l.indexOf(p.charAt(j)))%pms);
c=c
+ l.charAt((l.indexOf(k.charAt(j)) + l.indexOf(p.charAt(j)))%pms);
}
return c;
}
//==================================================================================
String out(String p,String k){
String l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#&%*()-_=:,.'?/$^
";
int pms=l.length();
int cpr=p.length();
int ky=k.length();
String
y =k;
int m = cpr%ky;
for( int i=1; i<cpr/ky ;
i++){k=k+y;}
k=k+k.substring(0,m);
String pl = "";
for (int j=0; j<cpr; j++
){
char
hsl=l.charAt(((l.indexOf(p.charAt(j)) - l.indexOf(k.charAt(j))) +pms )%pms);
pl=pl
+ hsl;
}
return pl;
}
try { //set the download URL, a url that points to a file on the internet //this is the file to be downloaded URL url = new URL("http://somewhere.com/some/webhosted/file"); //create the new connection HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); //set up some things on the connection urlConnection.setRequestMethod("GET"); urlConnection.setDoOutput(true); //and connect! urlConnection.connect(); //set the path where we want to save the file //in this case, going to save it on the root directory of the //sd card. File SDCardRoot = Environment.getExternalStorageDirectory(); //create a new file, specifying the path, and the filename //which we want to save the file as. File file = new File(SDCardRoot,"somefile.ext"); //this will be used to write the downloaded data into the file we created FileOutputStream fileOutput = new FileOutputStream(file); //this will be used in reading the data from the internet InputStream inputStream = urlConnection.getInputStream(); //this is the total size of the file int totalSize = urlConnection.getContentLength(); //variable to store total downloaded bytes int downloadedSize = 0; //create a buffer... byte[] buffer = new byte[1024]; int bufferLength = 0; //used to store a temporary size of the buffer //now, read through the input buffer and write the contents to the file while ( (bufferLength = inputStream.read(buffer)) > 0 ) { //add the data in the buffer to the file in the file output stream (the file on the sd card fileOutput.write(buffer, 0, bufferLength); //add up the size so we know how much is downloaded downloadedSize += bufferLength; //this is where you would do something to report the prgress, like this maybe updateProgress(downloadedSize, totalSize); } //close the output stream when done fileOutput.close(); //catch some possible errors... } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
===============
Start
Email-Activity with Preset Data (via Intents)
3 votes · 7
comments
This code starts the email activity with pre-set data. On the emulator it
might get a "No application can perform this action" failure,
although it works on a real phone. Code picked up on anddevraw ·
copy
· download
/* Create the Intent */ final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); /* Fill it with Data */ emailIntent.setType("plain/text"); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"to@email.com"}); emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text"); /* Send it off to the Activity-Chooser */ context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
Display a progress dialog while computing
2 votes · 3
comments
This snippet creates a ProgressDialog and a thread to execute something with
an unknown duration (web service as an example). When this "thing"
finishes, a message is sent to the parent of the thread to stop the
ProgessDialog.raw ·
copy
· download
final ProgressDialog dialog = ProgressDialog.show(this, "Title", "Message", true); final Handler handler = new Handler() { public void handleMessage(Message msg) { dialog.dismiss(); } }; Thread checkUpdate = new Thread() { public void run() { // // YOUR LONG CALCULATION (OR OTHER) GOES HERE // handler.sendEmptyMessage(0); } }; checkUpdate.start();
Prompt User Input with an AlertDialog
6 votes · 16
comments
This code creates an input-dialog with AlertDialog.Builder where a user can enter text in an
EditText field and press on "Ok" and "Cancel".raw ·
copy
· download
AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setTitle("Title"); alert.setMessage("Message"); // Set an EditText view to get user input final EditText input = new EditText(this); alert.setView(input); alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { String value = input.getText(); // Do something with value! } }); alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // Canceled. } }); alert.show();
Send a notification
1 vote · 1 comment
Useful for your threads, as they can't access the display interface.raw ·
copy
· download
protected void sendnotification (String title, String message) { String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); int icon = R.drawable.icon; CharSequence tickerText = message; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); Context context = getApplicationContext(); CharSequence contentTitle = title; CharSequence contentText = message; Intent notificationIntent = new Intent(this, AndroToDo.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.flags = Notification.FLAG_AUTO_CANCEL; notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); mNotificationManager.notify(NOTIFICATION_ID, notification); }
Latitude and Longitude of a place
1 vote · 0
comments
One can know the latitude and longitude of a place if know the place name.raw ·
copy
· download
//---geo-coding--- Geocoder geoCoder = new Geocoder(this, Locale.getDefault()); try { List<Address> addresses = geoCoder.getFromLocationName( “empire state building”, 5); String add = “”; if (addresses.size() > 0) { p = new GeoPoint( (int) (addresses.get(0).getLatitude() * 1E6), (int) (addresses.get(0).getLongitude() * 1E6)); mc.animateTo(p); mapView.invalidate(); } } catch (IOException e) { e.printStackTrace(); }
Post a tweet on Twitter
3 votes · 5
comments
This code authenticates and posts a tweet on Twitter. Written by Davanum Srinivasraw ·
copy
· download
package org.apache.twitter; import android.app.Activity; import android.content.Intent; import android.net.http.RequestQueue; import android.os.Bundle; import android.util.Log; import android.view.View; import android.webkit.WebView; import android.widget.Button; import android.widget.EditText; import org.apache.commons.codec.binary.Base64; import java.io.ByteArrayInputStream; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; /** * Initial screen with edit box for tweets and * a web view to display the tweets from friends */ public class TwitterClient extends Activity { static final int GET_LOGIN_INFORMATION = 1; WebView webView; RequestQueue requestQueue; String authInfo; /** * Called with the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); // Set the initial text webView = (WebView) findViewById(R.id.webView); webView.loadData( "Please click on setup and enter your twitter credentials", "text/html", "utf-8"); // When they click on the set up button show the login screen Button button = (Button) findViewById(R.id.setup); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(TwitterClient.this, TwitterLogin.class); startSubActivity(intent, GET_LOGIN_INFORMATION); } }); // When they click on the Tweet! button, then get the // text in the edit box and send it to twitter final Activity activity = this; Button button2 = (Button) findViewById(R.id.update); button2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.i("http", "Update clicked"); Map headers = new HashMap(); if (authInfo == null) { return; } headers.put("Authorization", "Basic " + new String(Base64.encodeBase64(authInfo.getBytes()))); EditText user = (EditText) findViewById(R.id.updateText); String text = null; try { text = "status=" + URLEncoder.encode(user.getText().toString(), "UTF-8"); Log.i("http", "with " + text); } catch (UnsupportedEncodingException e) { Log.e("http", e.getMessage()); } byte[] bytes = text.getBytes(); ByteArrayInputStream baos = new ByteArrayInputStream(bytes); // See Twitter API documentation for more information // http://groups.google.com/group/twitter-development-talk/web/api-documentation requestQueue.queueRequest( "https://twitter.com/statuses/update.xml", "POST", headers, new MyEventHandler2(activity), baos, bytes.length, false); } }); // Start a thread to update the tweets from friends every minute requestQueue = new RequestQueue(this); Thread t = new Thread(new MyRunnable(this)); t.start(); } protected void onActivityResult(int requestCode, int resultCode, String data, Bundle extras) { if (requestCode == GET_LOGIN_INFORMATION && resultCode == RESULT_OK) { // Save the user login information authInfo = data; } } }
Network connectivity changes
1 vote · 0
comments
This snippets configures listening for connectivity events (wifi, 3g) on and
offraw ·
copy
· download
//put this in your activity, service, or whatever private BroadcastReceiver mConnReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { boolean isWifiConnected = false; boolean isMobileConnected = false; ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(networkInfo != null) isWifiConnected = networkInfo.isConnected(); networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if(networkInfo != null) isMobileConnected = networkInfo.isConnected(); Log.d("network status", "wifi == " + isWifiConnected + " and mobile == " + isMobileConnected); } }; //registering the receiver from activity, service registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); //or context.registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); //where context it's a Context class object //manifest <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Basic service example in android
2 votes · 0
comments
Service -A Service is an application component representing either an
application's desire to perform a longer-running operation while not
interacting with the user or to supply functionality for other applications to
use.Difference between a Thread , service and asynchronous task
1) Service is like an Activity but has no interface. Probably if you want to fetch the weather for example you won't create a blank activity for it, for this you will use a Service.
2) A Thread is a Thread, probably you already know it from other part. You need to know that you cannot update UI from a Thread. You need to use a Handler for this, but read further.
3) An AsyncTask is an intelligent Thread that is advised to be used. Intelligent as it can help with it's methods, and there are two methods that run on UI thread, which is good to update UI components
Continue Reading
raw ·
copy
· download
public class ServiceDemoActivity extends Activity implements OnClickListener { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.start).setOnClickListener(this); findViewById(R.id.stop).setOnClickListener(this); } private Intent inetnt; @Override public void onClick(View v) { switch (v.getId()) { case R.id.start: inetnt=new Intent(this,ServiceExample.class); startService(inetnt); break; case R.id.stop: inetnt=new Intent(this,ServiceExample.class); stopService(inetnt); break; } } @Override protected void onResume() { super.onResume(); } @Override protected void onDestroy() { super.onDestroy(); // } }
Using C-style printf format strings to include variables in strings.xml
2 votes · 0
comments
Variables can be included in the strings defined in strings.xml
using the C-style printf '%'
syntax. This is because getString passes the string through java.util.Formatter.In the example above, getString substitutes
%d
for the integer 10
in the string message
.This tip was taken from Bram Borggreve's blog ( bVirtual.nl ).
raw ·
copy
· download
// In strings.xml <string name="unread_messages">You have %d unread messages</string> // In Java code String message = getString(R.string.unread_messages, 10);
Kill You Application
5 votes · 5 comments
If you want to completely kill your application, rather than just finish the
activity then either of the above snippets will do.Thanks to sammyF on #android for the second way, which is shorter but probably less of an official way to do it.
raw ·
copy
· download
/* Way one */ android.os.Process.killProcess(android.os.Process.myPid()) /* Way Two */ System.exit(0);
Check if SD card is present
2 votes · 0
comments
Sometimes we need to know whether an SD card is present or not. So here is a
check to see if an SD card is present. It returns true if the SD card is
present and writable, false otherwise. first posted on anddev by MrSnowflakeraw ·
copy
· download
public static boolean isSdPresent() { return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); }
Webview load from assets
1 vote · 0
comments
Load your website from assets folder and display it in WebViewraw ·
copy
· download
public class ViewWeb extends Activity { WebView webview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); webview = (WebView) findViewById(R.id.webView1); webview.loadUrl("file:///android_asset/index.html"); } }
Get installed Applications with Name, Package Name, Version and Icon
9 votes · 10
comments
This helper function retrieves all installed apps with the application name,
package name, version-number and -code as well as the icons. The method getPackages()
returns an ArrayList with
all the apps.raw ·
copy
· download
class PInfo { private String appname = ""; private String pname = ""; private String versionName = ""; private int versionCode = 0; private Drawable icon; private void prettyPrint() { Log.v(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode); } } private ArrayList<PInfo> getPackages() { ArrayList<PInfo> apps = getInstalledApps(false); /* false = no system packages */ final int max = apps.size(); for (int i=0; i<max; i++) { apps.get(i).prettyPrint(); } return apps; } private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) { ArrayList<PInfo> res = new ArrayList<PInfo>(); List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); for(int i=0;i<packs.size();i++) { PackageInfo p = packs.get(i); if ((!getSysPackages) && (p.versionName == null)) { continue ; } PInfo newInfo = new PInfo(); newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString(); newInfo.pname = p.packageName; newInfo.versionName = p.versionName; newInfo.versionCode = p.versionCode; newInfo.icon = p.applicationInfo.loadIcon(getPackageManager()); res.add(newInfo); } return res; }
Open URL in android
1 vote · 0 comments
To open the url in androidraw ·
copy
· download
String url = "url"; Intent intent1 = new Intent(Intent.ACTION_VIEW); intent1.setData(Uri.parse(url)); startActivity(intent1);
Non-Blocking Web-Request
8 votes · 11
comments
This code fetches content from the web without blocking the UI (runs in the
background in a Thread). Once finished, it posts a Handler that is picked up by
the UI as soon as possible.raw ·
copy
· download
import java.io.BufferedInputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import org.apache.http.util.ByteArrayBuffer; public class Iconic extends Activity { private String html = ""; private Handler mHandler; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mHandler = new Handler(); checkUpdate.start(); } private Thread checkUpdate = new Thread() { public void run() { try { URL updateURL = new URL("http://iconic.4feets.com/update"); URLConnection conn = updateURL.openConnection(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current = bis.read()) != -1){ baf.append((byte)current); } /* Convert the Bytes read to a String. */ html = new String(baf.toByteArray()); mHandler.post(showUpdate); } catch (Exception e) { } } }; private Runnable showUpdate = new Runnable(){ public void run(){ Toast.makeText(Iconic.this, "HTML Code: " + html, Toast.LENGTH_SHORT).show(); } }; }
Check for Updates Once a Day
5 votes · 19
comments
This code checks for updates of the Activity once a day and in the
background. If an update (higher version than current) is found, it opens a
Dialog and asks the user to open the market.raw ·
copy
· download
public class Test extends Activity { private Handler mHandler; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.front); mHandler = new Handler(); /* Get Last Update Time from Preferences */ SharedPreferences prefs = getPreferences(0); lastUpdateTime = prefs.getLong("lastUpdateTime", 0); /* Should Activity Check for Updates Now? */ if ((lastUpdateTime + (24 * 60 * 60 * 1000)) < System.currentTimeMillis()) { /* Save current timestamp for next Check*/ lastUpdateTime = System.currentTimeMillis(); SharedPreferences.Editor editor = getPreferences(0).edit(); editor.putLong("lastUpdateTime", lastUpdateTime); editor.commit(); /* Start Update */ checkUpdate.start(); } } /* This Thread checks for Updates in the Background */ private Thread checkUpdate = new Thread() { public void run() { try { URL updateURL = new URL("http://my.company.com/update"); URLConnection conn = updateURL.openConnection(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current = bis.read()) != -1){ baf.append((byte)current); } /* Convert the Bytes read to a String. */ final String s = new String(baf.toByteArray()); /* Get current Version Number */ int curVersion = getPackageManager().getPackageInfo("your.app.id", 0).versionCode; int newVersion = Integer.valueOf(s); /* Is a higher version than the current already out? */ if (newVersion > curVersion) { /* Post a Handler for the UI to pick up and open the Dialog */ mHandler.post(showUpdate); } } catch (Exception e) { } } }; /* This Runnable creates a Dialog and asks the user to open the Market */ private Runnable showUpdate = new Runnable(){ public void run(){ new AlertDialog.Builder(Test.this) .setIcon(R.drawable.icon) .setTitle("Update Available") .setMessage("An update for is available!\\n\\nOpen Android Market and see the details?") .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { /* User clicked OK so do some stuff */ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pname:your.app.id")); startActivity(intent); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { /* User clicked Cancel */ } }) .show(); } }; }
Gallery widget with remote Images
1 vote · 3
comments
This code-snippet loads the Gallery widget with remote images from a webserver. Found
on anddevraw ·
copy
· download
/** == XML Layout == * * <?xml version="1.0" encoding="utf-8"?> * <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" * android:orientation="vertical" * android:layout_width="fill_parent" * android:layout_height="fill_parent" * > * <Gallery id="@+id/gallery" * android:layout_width="fill_parent" * android:layout_height="wrap_content" * android:gravity="bottom" * /> * </LinearLayout> * */ package org.anddev.android.galleryexample; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; public class GalleryExample extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); /* Find the gallery defined in the main.xml * Apply a new (custom) ImageAdapter to it. */ ((Gallery) findViewById(R.id.gallery)) .setAdapter(new ImageAdapter(this)); } public class ImageAdapter extends BaseAdapter { /** The parent context */ private Context myContext; /** URL-Strings to some remote images. */ private String[] myRemoteImages = { "http://www.anddev.org/images/tiny_tutheaders/weather_forecast.png", "http://www.anddev.org/images/tiny_tutheaders/cellidtogeo.png", "http://www.anddev.org/images/tiny_tutheaders/droiddraw.png" }; /** Simple Constructor saving the 'parent' context. */ public ImageAdapter(Context c) { this.myContext = c; } /** Returns the amount of images we have defined. */ public int getCount() { return this.myRemoteImages.length; } /* Use the array-Positions as unique IDs */ public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } /** Returns a new ImageView to * be displayed, depending on * the position passed. */ public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(this.myContext); try { /* Open a new URL and get the InputStream to load data from it. */ URL aURL = new URL(myRemoteImages[position]); URLConnection conn = aURL.openConnection(); conn.connect(); InputStream is = conn.getInputStream(); /* Buffered is always good for a performance plus. */ BufferedInputStream bis = new BufferedInputStream(is); /* Decode url-data to a bitmap. */ Bitmap bm = BitmapFactory.decodeStream(bis); bis.close(); is.close(); /* Apply the Bitmap to the ImageView that will be returned. */ i.setImageBitmap(bm); } catch (IOException e) { i.setImageResource(R.drawable.error); Log.e("DEBUGTAG", "Remtoe Image Exception", e); } /* Image should be scaled as width/height are set. */ i.setScaleType(ImageView.ScaleType.FIT_CENTER); /* Set the Width/Height of the ImageView. */ i.setLayoutParams(new Gallery.LayoutParams(150, 150)); return i; } /** Returns the size (0.0f to 1.0f) of the views * depending on the 'offset' to the center. */ public float getScale(boolean focused, int offset) { /* Formula: 1 / (2 ^ offset) */ return Math.max(0, 1.0f / (float)Math.pow(2, Math.abs(offset))); } } }
Enable and Disable WiFi
2 votes · 0
comments
The WifiManager can be used to enable and disable wifi. Where
'enabled' is a boolean. Found on damonkohler.comraw ·
copy
· download
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(enabled);
Network connectivity changes
1 vote · 0
comments
This snippets configures listening for connectivity events (wifi, 3g) on and
offraw ·
copy
· download
//put this in your activity, service, or whatever private BroadcastReceiver mConnReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { boolean isWifiConnected = false; boolean isMobileConnected = false; ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(networkInfo != null) isWifiConnected = networkInfo.isConnected(); networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if(networkInfo != null) isMobileConnected = networkInfo.isConnected(); Log.d("network status", "wifi == " + isWifiConnected + " and mobile == " + isMobileConnected); } }; //registering the receiver from activity, service registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); //or context.registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); //where context it's a Context class object //manifest <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Sending SMS with SmsManager
1 vote · 0
comments
It's easy to send SMS Messages using the SmsManagerraw ·
copy
· download
SmsManager m = SmsManager.getDefault(); String destination = "06761122334"; String text = "Hello, Jenny!"; m.sendTextMessage(destination, null, text, null, null);
Scan for Wireless Networks
1 vote · 2
comments
Scan for wireless networks in the current area. first posted on anddev
by nas061000raw ·
copy
· download
package com.android.wifitester; import java.util.List; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.wifi.ScanResult; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class WifiTester extends Activity { TextView mainText; WifiManager mainWifi; WifiReceiver receiverWifi; List<ScanResult> wifiList; StringBuilder sb = new StringBuilder(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mainText = (TextView) findViewById(R.id.mainText); mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); receiverWifi = new WifiReceiver(); registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); mainWifi.startScan(); mainText.setText("\\nStarting Scan...\\n"); } public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 0, 0, "Refresh"); return super.onCreateOptionsMenu(menu); } public boolean onMenuItemSelected(int featureId, MenuItem item) { mainWifi.startScan(); mainText.setText("Starting Scan"); return super.onMenuItemSelected(featureId, item); } protected void onPause() { unregisterReceiver(receiverWifi); super.onPause(); } protected void onResume() { registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); super.onResume(); } class WifiReceiver extends BroadcastReceiver { public void onReceive(Context c, Intent intent) { sb = new StringBuilder(); wifiList = mainWifi.getScanResults(); for(int i = 0; i < wifiList.size(); i++){ sb.append(new Integer(i+1).toString() + "."); sb.append((wifiList.get(i)).toString()); sb.append("\\n"); } mainText.setText(sb); } } }
Method for enable disable wifi
1 vote · 0
comments
Enable disable wifi with this method ;) Add permission ;)
raw ·
copy
· download
public boolean enableWIFI() { WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); if(wifiManager.isWifiEnabled()){ if(wifiManager.setWifiEnabled(false)) return true; }else{ if(wifiManager.setWifiEnabled(true)) return true; } return false; }
Get My Phone Number
2 votes · 3 comments
Gets the phone number the app is running on. It needs a permission so add
the line uses-permission
android:name="android.permission.READ_PHONE_STATE" to the
manifest.xmlraw ·
copy
· download
private String getMyPhoneNumber(){ TelephonyManager mTelephonyMgr; mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); return mTelephonyMgr.getLine1Number(); } private String getMy10DigitPhoneNumber(){ String s = getMyPhoneNumber(); return s.substring(2); }
Change phone mode to silent, vibrate, normal
2 votes · 1
comment
This code will allow you to change your phone modes accordingly.raw ·
copy
· download
AudioManager am; am= (AudioManager) getBaseContext().getSystemService(Context.AUDIO_SERVICE); //For Normal mode am.setRingerMode(AudioManager.RINGER_MODE_NORMAL); //For Silent mode am.setRingerMode(AudioManager.RINGER_MODE_SILENT); //For Vibrate mode am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Open Wifi Settings
3 votes · 1 comment
Open wifi settings :) raw ·
copy
· download
final Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); final ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings"); intent.setComponent(cn); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity( intent);
Enable and Disable WiFi
2 votes · 0
comments
The WifiManager can be used to enable and disable wifi. Where
'enabled' is a boolean. Found on damonkohler.comraw ·
copy
· download
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(enabled);
Open mobile data setting
1 vote · 0
comments
Open mobile data settings raw ·
copy
· download
final Intent intent=new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS); intent.addCategory(Intent.CATEGORY_LAUNCHER); final ComponentName cn = new ComponentName("com.android.phone","com.android.phone.Settings"); intent.setComponent(cn); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
Check airplane mode and roaming in current moment
2 votes · 0
comments
Check airplane mode and roaming in current moment.raw ·
copy
· download
// Get roaming state from telephony manager public Boolean isRoaming(Context context) { TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); return telephonyManager.isNetworkRoaming(); } // Get airplane mode state from system settings public boolean isAirplaneMode(Context context) { int settingValue; try { settingValue = Settings.System.getInt( context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON); return settingValue != 0; } catch (SettingNotFoundException e) { return false; } }
Check for Updates Once a Day
5 votes · 19
comments
This code checks for updates of the Activity once a day and in the
background. If an update (higher version than current) is found, it opens a
Dialog and asks the user to open the market.raw ·
copy
· download
public class Test extends Activity { private Handler mHandler; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.front); mHandler = new Handler(); /* Get Last Update Time from Preferences */ SharedPreferences prefs = getPreferences(0); lastUpdateTime = prefs.getLong("lastUpdateTime", 0); /* Should Activity Check for Updates Now? */ if ((lastUpdateTime + (24 * 60 * 60 * 1000)) < System.currentTimeMillis()) { /* Save current timestamp for next Check*/ lastUpdateTime = System.currentTimeMillis(); SharedPreferences.Editor editor = getPreferences(0).edit(); editor.putLong("lastUpdateTime", lastUpdateTime); editor.commit(); /* Start Update */ checkUpdate.start(); } } /* This Thread checks for Updates in the Background */ private Thread checkUpdate = new Thread() { public void run() { try { URL updateURL = new URL("http://my.company.com/update"); URLConnection conn = updateURL.openConnection(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current = bis.read()) != -1){ baf.append((byte)current); } /* Convert the Bytes read to a String. */ final String s = new String(baf.toByteArray()); /* Get current Version Number */ int curVersion = getPackageManager().getPackageInfo("your.app.id", 0).versionCode; int newVersion = Integer.valueOf(s); /* Is a higher version than the current already out? */ if (newVersion > curVersion) { /* Post a Handler for the UI to pick up and open the Dialog */ mHandler.post(showUpdate); } } catch (Exception e) { } } }; /* This Runnable creates a Dialog and asks the user to open the Market */ private Runnable showUpdate = new Runnable(){ public void run(){ new AlertDialog.Builder(Test.this) .setIcon(R.drawable.icon) .setTitle("Update Available") .setMessage("An update for is available!\\n\\nOpen Android Market and see the details?") .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { /* User clicked OK so do some stuff */ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pname:your.app.id")); startActivity(intent); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { /* User clicked Cancel */ } }) .show(); } }; }
Get installed Applications with Name, Package Name, Version and Icon
9 votes · 10
comments
This helper function retrieves all installed apps with the application name,
package name, version-number and -code as well as the icons. The method getPackages()
returns an ArrayList with
all the apps.raw ·
copy
· download
class PInfo { private String appname = ""; private String pname = ""; private String versionName = ""; private int versionCode = 0; private Drawable icon; private void prettyPrint() { Log.v(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode); } } private ArrayList<PInfo> getPackages() { ArrayList<PInfo> apps = getInstalledApps(false); /* false = no system packages */ final int max = apps.size(); for (int i=0; i<max; i++) { apps.get(i).prettyPrint(); } return apps; } private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) { ArrayList<PInfo> res = new ArrayList<PInfo>(); List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); for(int i=0;i<packs.size();i++) { PackageInfo p = packs.get(i); if ((!getSysPackages) && (p.versionName == null)) { continue ; } PInfo newInfo = new PInfo(); newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString(); newInfo.pname = p.packageName; newInfo.versionName = p.versionName; newInfo.versionCode = p.versionCode; newInfo.icon = p.applicationInfo.loadIcon(getPackageManager()); res.add(newInfo); } return res; }
Getting the Type of File as String
1 vote · 2
comments
Get the Type of a File.raw ·
copy
· download
ContentResolver cR = context.getContentResolver(); MimeTypeMap mime = MimeTypeMap.getSingleton(); String type = mime.getExtensionFromMimeType(cR.getType(uri));
Open URL in android
1 vote · 0 comments
To open the url in androidraw ·
copy
· download
String url = "url"; Intent intent1 = new Intent(Intent.ACTION_VIEW); intent1.setData(Uri.parse(url)); startActivity(intent1);
WebView: Activate JavaScript and Open Links Inside
1 vote · 2
comments
This code activates JavaScript for a given WebView, and opens new link
inside the WebBiew, not in the Browser.raw ·
copy
· download
public class WebViewTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Set the Content View */ setContentView(R.layout.main); /* Get the WebView */ WebView wv1 = (WebView) findViewById(R.id.wv1); /* Activate JavaScript */ wv1.getSettings().setJavaScriptEnabled(true); /* Prevent WebView from Opening the Browser */ wv1.setWebViewClient(new InsideWebViewClient()); } /* Class that prevents opening the Browser */ private class InsideWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } }
How to pass a dynamic URL to a Webview Activity
1 vote · 0
comments
I don't really know if this way is correct, but it's simple and works (:raw ·
copy
· download
// ActivityOne @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); final Context context = this; // ... public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Intent intent = new Intent(context, WebViewActivity.class); intent.setData(Uri.parse("http://www.androidsnippets.com")); startActivity(intent); } // ... } // WebViewActivity @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web_view); webView = (WebView) findViewById(R.id.web_view); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl(this.getIntent().getDataString()); }
Open URL in android
1 vote · 0 comments
To open the url in androidraw ·
copy
· download
String url = "url"; Intent intent1 = new Intent(Intent.ACTION_VIEW); intent1.setData(Uri.parse(url)); startActivity(intent1);
WebView: Activate JavaScript and Open Links Inside
1 vote · 2
comments
This code activates JavaScript for a given WebView, and opens new link
inside the WebBiew, not in the Browser.raw ·
copy
· download
public class WebViewTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Set the Content View */ setContentView(R.layout.main); /* Get the WebView */ WebView wv1 = (WebView) findViewById(R.id.wv1); /* Activate JavaScript */ wv1.getSettings().setJavaScriptEnabled(true); /* Prevent WebView from Opening the Browser */ wv1.setWebViewClient(new InsideWebViewClient()); } /* Class that prevents opening the Browser */ private class InsideWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } }
Non-Blocking Web-Request
8 votes · 11
comments
This code fetches content from the web without blocking the UI (runs in the
background in a Thread). Once finished, it posts a Handler that is picked up by
the UI as soon as possible.raw ·
copy
· download
import java.io.BufferedInputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import org.apache.http.util.ByteArrayBuffer; public class Iconic extends Activity { private String html = ""; private Handler mHandler; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mHandler = new Handler(); checkUpdate.start(); } private Thread checkUpdate = new Thread() { public void run() { try { URL updateURL = new URL("http://iconic.4feets.com/update"); URLConnection conn = updateURL.openConnection(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current = bis.read()) != -1){ baf.append((byte)current); } /* Convert the Bytes read to a String. */ html = new String(baf.toByteArray()); mHandler.post(showUpdate); } catch (Exception e) { } } }; private Runnable showUpdate = new Runnable(){ public void run(){ Toast.makeText(Iconic.this, "HTML Code: " + html, Toast.LENGTH_SHORT).show(); } }; }
Executing a HTTP POST Request with HttpClient
31 votes · 25
comments
This code executes a HTTP POST request with org.apache.http.client.HttpClient. Could be used in
combination with "Non-Blocking Web Requests".raw ·
copy
· download
public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block } }
Convenient messaging between threads
2 votes · 3
comments
The present snippet came up, when I struggled with messaging between
different threads. The documentation for the event loop (Looper, Handler and
HandlerThread) is not that clear, at least for me. The idea is to use a static
thread-safe instance for emitting messages to other components even when they
are running in different threads. You can use a simple addressing mechanism or
safely broadcast your message to all subscribed components. This could be
useful when you are dealing for example with a rendering thread, that needs to
communicate with your state machine(s), which in turn needs to broadcast state
changes (which was my case).import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.os.Handler.Callback; import android.util.Log; /** * The transceiver provides a convenient way to decorate an instance with receive and transmit capabilities. * It can (and this is encouraged) be used with the {@link Broker} instance. * The naming thing is not part of the Transeiver's functionality, but may be useful while debugging. * This class can be used for subclassing or as a "has-a"-relation, as it is possible to set * an arbitrary {@link Callback } listener. * */ public class Transceiver { private String mName="Transceiver"; private static int ID=0; private HandlerThread mHandlerThread; private Handler mHandler; // delegates the messages, when no proprietary callback // is associated with the transeiver private class HandlerListener implements Callback{ @Override public boolean handleMessage(Message msg) { return Transceiver.this.handleMessage(msg); } } /** * Creates a transceiver with an automatically generated name */ public Transceiver(){ mName = new String("Transceiver(" + ++ID + ")"); create(new HandlerListener()); } /** * Creates a transceiver with arbitrary name * @param name */ public Transceiver(String name){ ++ID; mName = name; create(new HandlerListener() ); } /** * Creates a transceiver with arbitrary name and an own listener * @param name a custom name * @param l your own listener */ public Transceiver(String name, Callback l){ ++ID; mName = name; create(l); } private void create(Callback l){ mHandlerThread = new HandlerThread(getName()); mHandlerThread.start(); Log.d(mName, "Waiting for looper..."); // we need to wait (blocking) to get the looper instance while(!mHandlerThread.isAlive()) {}; mHandler = new Handler(mHandlerThread.getLooper(), l); Log.d(mName, "Ready"); } /** * @return The name of this transceiver */ public final String getName() { return mName; } /** * @return Its internal handler */ public final Handler getHandler() { return mHandler; } /** * The callback method for received messages. You can override it, when deriving from Transceiver. * @param msg the message * @return true, if the message was handled. */ public boolean handleMessage(Message msg) { return false; } } // ------------------------------- BROKER ----------------------------------------- import java.util.ArrayList; import android.os.Handler; import android.os.Message; /** * The broker is a kind of repository for {@link Handler} instances. It provides a simple and very convenient mechanism to * establish communication between different handlers. Just subscribe a handler instance and use the returned address with * this Broker. This class is thread safe, of course. * Usage example: * <code> * this.MyCompAddr = Broker.instance.subscribe( new Handler() ); * // or, when using transceiver * this.MyRendererAddr = Broker.instance.subscribe( new MyTransceiver("Renderer").getHandler() ); * [...] * // how to send messages * Message m = Message.obtain(); * m.what = 1; // could be an identifier or op-code or whatever you want * Bundle b= new Bundle(); // or use more complex (key,value)-pairs. * b.putString("data", "Any Data"); * m.setData(b); * Broker.instance.post(this.MyRendererAddr, m); * </code> * */ public class Broker { /** * The static instance. */ public static Broker instance=new Broker(); private ArrayList<Handler> mHandler; private Broker() { mHandler = new ArrayList<Handler> (); } /** * Subscribe a handler, so you can send messages easily to it. * Mind there is no check for doubled subscription. * @param h The handler * @return The "address" for the handler * @see {@link unsubscribe() } */ public synchronized int subscribe(Handler h){ ArrayList<Handler> hl=mHandler; hl.add(h); return hl.size()-1; } /** * Unsubscribes a handler. Invalid addresses are ignored * @param address */ public synchronized void unsubscribe(int address){ if(isAddressValid(address)) mHandler.remove(address); } protected synchronized final boolean isAddressValid(int address){ ArrayList<Handler> h=mHandler; return (!h.isEmpty() && address >= 0 && address < h.size() ); } /** * Post a message to addressed receiver. * @param address * @param m * @return true, if address exists, i.e. message could be delivered */ public synchronized boolean post(int address, Message m){ ArrayList<Handler> h=mHandler; if(!isAddressValid(address)) return false; h.get(address).sendMessage(Message.obtain(m)); return true; } /** * Sends a message to all connected handler * @param m The message * @return The number of notified handler, e.g. send messages. */ public synchronized int broadcast(Message m) { ArrayList<Handler> h=mHandler; int n=h.size(); for(int i=0; i<n; ++i) { h.get(i).sendMessage(Message.obtain(m)); } return n; } } // ------------------------------------------------------------------------------------ // Some implementation examples // ------------------------------------------------------------------------------------ /** * a place where I store my addresses. * Read-only access to once set addresses is thread-safe! */ public class AddressPool { public static int Subsystem1,Subsystem2,MyActivity; } // ## extending Transceiver (is-a-relation) ## public class Subsystem2 extends Transceiver { public final static String TAG="Subsystem2"; public final static int WHAT = 3862; // a magic number public boolean handleMessage(Message m){ switch(m.what){ case Subsystem1.WHAT: Log.i(TAG,"Received message from " + Subsystem1.TAG); // attention: when answering we need a new message Message msg= Message.obtain(m); Broker.instance.post(AddressPool.Subsystem1, msg); break; case MyActivity.WHAT: Log.i(TAG,"Received message from " + MyActivity.TAG ); break; } return true; } } // ## wrapping/using Transceiver (has-a-relation) ## package com.o1.android; import java.util.Timer; import java.util.TimerTask; import com.o1.android.util.message.Broker; import com.o1.android.util.message.Transceiver; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.os.Handler.Callback; import android.util.Log; public class Subsystem1 extends TimerTask implements Callback{ public final static String TAG="Subsystem1"; public final static int WHAT = 175; // any identifier private Transceiver mTransceiver; private int mMyAddress=-1; private Timer mTimer; public Subsystem1(){ mTransceiver = new Transceiver(TAG, this); mTimer = new Timer("SubsystemTimer"); } public void onStart(){ mMyAddress = Broker.instance.subscribe(mTransceiver.getHandler()); // we use a timer to asynchronously post messages mTimer.schedule(this, 0, 125); } public void onQuit(){ mTimer.cancel(); Broker.instance.unsubscribe(mMyAddress); } public final int getBrokerAddress() { return mMyAddress; } @Override public boolean handleMessage(Message m) { switch(m.what){ case Subsystem2.WHAT: Log.i(TAG,"Received message from " + Subsystem2.TAG); break; case MyActivity.WHAT: Log.i(TAG,"Received message from " + MyActivity.TAG); break; } // immediate response/delegate with a copy of our message Broker.instance.post(AddressPool.MyActivity, Message.obtain(m)); return true; } @Override public void run() { Message m= new Message(); m.what=WHAT; Broker.instance.post(AddressPool.MyActivity, m); } } // ## connecting activities ## public class MyActivity extends Activity implements Callback { private Subsystem1 mSubsystem1; //... other member fields @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /* * We have different types of transceiver implementations. * One as "has" (subsystem1) and the other as "is"-relation. */ mSubsystem1 = new Subsystem1(); AddressPool.Subsystem2 = Broker.instance.subscribe(new Subsystem2().getHandler()); // additionally, we can use activities (or other components with loopers) // mind that our activity implements Callback AddressPool.MyActivity = Broker.instance.subscribe(new Handler(this)); // ... your stuff, e.g. a button that triggers messages } @Override public void onStart(){ super.onStart(); mSubsystem1.onStart(); AddressPool.Subsystem1 = mSubsystem1.getBrokerAddress(); } @Override public void onDestroy(){ super.onDestroy(); mSubsystem1.onQuit(); } @Override public boolean handleMessage(Message msg) { // handle your messages here }
http://www.androidsnippets.com/convenient-messaging-between-threads
Tidak ada komentar:
Posting Komentar