tag:blogger.com,1999:blog-55179337132000423222024-03-15T18:10:01.577-07:00Android ExamplesDipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.comBlogger28125tag:blogger.com,1999:blog-5517933713200042322.post-89106638739445093412013-03-14T08:42:00.000-07:002013-03-14T08:42:21.079-07:00How to Read PDF files in Android?<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Read PDF Files from Sdcard in Android</b><br />
<br />
First Create one Android Project in Eclipse after that download PDFViewer.jar file from Internet and then add into project's build path.<br />
<br />
After Create one Activity in this Project, Name is Second.java<br />
<br />
<b>Second.java</b><br />
<br />
public class Second extends PdfViewerActivity {<br />
<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
}<br />
<br />
public int getPreviousPageImageResource() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.drawable.left_arrow;<br />
}<br />
<br />
public int getNextPageImageResource() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.drawable.right_arrow;<br />
}<br />
<br />
public int getZoomInImageResource() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.drawable.zoom_in;<br />
}<br />
<br />
public int getZoomOutImageResource() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.drawable.zoom_out;<br />
}<br />
<br />
public int getPdfPasswordLayoutResource() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.layout.pdf_file_password;<br />
}<br />
<br />
public int getPdfPageNumberResource() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.layout.dialog_pagenumber;<br />
}<br />
<br />
public int getPdfPasswordEditField() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.id.etPassword;<br />
}<br />
<br />
public int getPdfPasswordOkButton() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.id.btOK;<br />
}<br />
<br />
public int getPdfPasswordExitButton() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.id.btExit;<br />
}<br />
<br />
public int getPdfPageNumberEditField() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return R.id.pagenum_edit;<br />
}<br />
}<br />
<br />
After that Add below code into your project's main activity and change extends Activity to ListActivity in your java file.<br />
<br />
<b>First.java</b><br />
<br />
public class First extends ListActivity {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
String[] pdflist;<br />
File[] imagelist;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//setContentView(R.layout.main);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>File images = Environment.getExternalStorageDirectory();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>imagelist = images.listFiles(new FilenameFilter() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean accept(File dir, String name) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return ((name.endsWith(".pdf")));<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>});<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>pdflist = new String[imagelist.length];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for (int i = 0; i < imagelist.length; i++) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>pdflist[i] = imagelist[i].getName();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, pdflist));<br />
}<br />
<br />
protected void onListItemClick(ListView l, View v, int position, long id) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onListItemClick(l, v, position, id);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String path = imagelist[(int) id].getAbsolutePath();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>openPdfIntent(path);<br />
}<br />
<br />
private void openPdfIntent(String path) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>try {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>final Intent intent = new Intent(First.this, Second.class);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>startActivity(intent);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>} catch (Exception e) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>e.printStackTrace();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
}<br />
<br />
And Don't Forget to Add Second Activity in Android Manifest file.<br />
<br />
Enjoy :--)<br />
<br />
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com118tag:blogger.com,1999:blog-5517933713200042322.post-26415847759174022522013-01-07T02:55:00.001-08:002013-01-16T05:13:02.711-08:00Custom Toast in Android<div dir="ltr" style="text-align: left;" trbidi="on">
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">First Create New Android Project and after that add below xml file in res/layout folder and add below code into your </span>MainActivity<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">.java file.</span><br />
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;"><br /></span>
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><span class="Apple-style-span" style="font-size: 14px; line-height: 18px;"><b>toast.xml</b></span></span><br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><br /></span>
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</span><br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:id="@+id/toast_layout_root"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:orientation="horizontal"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:layout_width="fill_parent"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:layout_height="fill_parent"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:padding="10dp"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:background="#ffffff" ><br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span><br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span><ImageView android:id="@+id/image"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:layout_width="wrap_content"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:layout_height="fill_parent"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:layout_marginRight="10dp" /><br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><br /></span>
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span><TextView android:id="@+id/text"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:layout_width="wrap_content"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:layout_height="fill_parent"<br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span>android:textColor="#FFF" /><br />
<span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"> </span><br />
</LinearLayout><br />
<br />
Add below code into your MainActivity.java file<br />
<br />
<b>MainActivity.java</b><br />
<br />
LayoutInflater inflater = getLayoutInflater();<br />
<br />
View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup) findViewById(R.id.toast_layout_root));<br />
<br />
ImageView image = (ImageView) layout.findViewById(R.id.image);<br />
image.setImageResource(R.drawable.android);<br />
TextView text = (TextView) layout.findViewById(R.id.text);<br />
text.setText("Hello! This is a custom toast!");<br />
<br />
Toast toast = new Toast(getApplicationContext());<br />
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);<br />
toast.setDuration(Toast.LENGTH_LONG);<br />
toast.setView(layout);<br />
toast.show();<br />
<br />
Enjoy :-)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com3tag:blogger.com,1999:blog-5517933713200042322.post-88677346179697060132013-01-07T02:35:00.002-08:002013-01-18T05:00:36.650-08:00How To Send Email In Android<div dir="ltr" style="text-align: left;" trbidi="on">
Write below code into your activity file for send Email from Android Application.<br />
<br />
<h4 style="text-align: left;">
<b>Java Code:-</b></h4>
<div>
<b><br /></b></div>
<span class="Apple-style-span" style="background-color: white; color: #3c3c3c; font-family: Arial, sans-serif; font-size: 14px; line-height: 21px;"></span>
Intent mAndroidEmailIntent = new Intent (android.content.Intent.ACTION_SEND); <br />
String aEmailList[] = { "android@gmail.com","android@yahoomail.com" }; <br />
mAndroidEmailIntent.putExtra (android.content.Intent.EXTRA_EMAIL, aEmailList); <br />
mAndroidEmailIntent.putExtra (android.content.Intent.EXTRA_SUBJECT, "Mail Subject"); <br />
mAndroidEmailIntent.setType ("plain/text"); <br />
mAndroidEmailIntent.putExtra (android.content.Intent.EXTRA_TEXT, "Email From My Android App"); <br />
startActivity (mAndroidEmailIntent); <br />
<br />
Enjoy :-)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com3tag:blogger.com,1999:blog-5517933713200042322.post-60658655310357906272012-11-24T03:17:00.002-08:002013-01-16T05:15:10.442-08:00Android Development – Customize Android Fonts<div dir="ltr" style="text-align: left;" trbidi="on">
First Create New Android Project and after that add "DroidSansFallback.ttf" file into assets folder.<br />
<br />
After that put below code into activity_main.xml file and MainActivity.java file<br />
<br />
<h4 style="text-align: left;">
<b>activity_main.xml</b></h4>
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:orientation="vertical" ><br />
<br />
<TextView<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:text="Dipak Keshariya"<br />
android:id="@+id/TextView1" /><br />
<br />
</LinearLayout><br />
<br />
<br />
<span class="Apple-style-span" style="font-weight: bold;"><b>MainActivity.java</b></span><br />
<br />
<span class="Apple-style-span">public class </span>MainActivity<span class="Apple-style-span"> extends Activity {</span><br />
/** Called when the activity is first created. */<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.activity_main);<br />
<br />
// text view label<br />
TextView mTextView1 = (TextView) findViewById(R.id.TextView1);<br />
<br />
// Loading Font Face<br />
Typeface tf = Typeface.createFromAsset(getAssets(), "DroidSansFallback.ttf");<br />
<br />
// Applying font<br />
mTextView1.setTypeface(tf);<br />
}<br />
}<br />
<br />
Download Full Source Code from below link.<br />
<br />
<a href="https://www.dropbox.com/s/wtw7asl6aa27trz/Android%20Fonts.zip" target="_blank">Customize Android Fonts</a><br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com2tag:blogger.com,1999:blog-5517933713200042322.post-76853599547662547072012-08-27T06:46:00.001-07:002013-01-18T05:14:19.175-08:00Multiple Android Activities in a TabActivity<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Project Name:-</b> Tab_Sample<br />
<b>Package Name:-</b> com.android.tabsample<br />
<b>Target SDK:-</b> Android 2.2 (API 8)<br />
<br />
Create below 5 classes under the "com.android.tabsample" package.<br />
<br />
<h3 style="text-align: left;">
ActivityStack.java</h3>
<br />
public class ActivityStackHome extends ActivityGroup {<br />
private Stack<String> stack;<br />
<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (stack == null)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>stack = new Stack<String>();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// start default activity<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>push("FirstStackActivity", new Intent(this, Tab_SampleActivity.class));<br />
}<br />
<br />
@Override<br />
public void finishFromChild(Activity child) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>pop();<br />
}<br />
<br />
@Override<br />
public void onBackPressed() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>pop();<br />
}<br />
<br />
public void push(String id, Intent intent) {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>Window window = getLocalActivityManager().startActivity(id, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));<br />
if (window != null) {<br />
stack.push(id);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(window.getDecorView());<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
<br />
public void pop() {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>if (stack.size() == 1)<br />
finish();<br />
LocalActivityManager manager = getLocalActivityManager();<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>manager.destroyActivity(stack.pop(), true);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (stack.size() > 0) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Intent lastIntent = manager.getActivity(stack.peek()).getIntent();<br />
Window newWindow = manager.startActivity(stack.peek(), lastIntent);<br />
setContentView(newWindow.getDecorView());<br />
}<br />
}<br />
}<br />
<br />
<br />
<h3 style="text-align: left;">
TabActivity.java</h3>
<br />
public class TabActivity extends TabActivity {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>/** Called when the activity is first created. */<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.tab_screen);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>TabHost tabHost = getTabHost();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Intent intent = new Intent().setClass(this, ActivityStack.class);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>TabHost.TabSpec spec = tabHost.newTabSpec("tabId").setIndicator("Temp", getResources().getDrawable(R.drawable.home));<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>spec.setContent(intent);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>tabHost.addTab(spec);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Intent intent1 = new Intent().setClass(this, ActivityStack.class);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>TabHost.TabSpec spec1 = tabHost.newTabSpec("tabId").setIndicator("Temp", getResources().getDrawable(R.drawable.invoice));<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>spec1.setContent(intent1);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>tabHost.addTab(spec1);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>tabHost.setCurrentTab(0);<br />
}<br />
}<br />
<br />
<br />
<h3 style="text-align: left;">
FirstActivity.java</h3>
<br />
public class FirstActivity extends Activity {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>TextView textView = new TextView(this);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>textView.setText("Tab Sample Activity ");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>textView.setOnClickListener(new View.OnClickListener() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onClick(View v) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Intent intent = new Intent();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>intent.setClass(getParent(), SecondActivity.class);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ActivityStack activityStack = (ActivityStack) getParent();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>activityStack.push("SecondActivity", intent);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>});<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
setContentView(textView);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>}<br />
}<br />
<br />
<br />
<h3 style="text-align: left;">
SecondActivity.java</h3>
<br />
public class SecondActivity extends Activity {<br />
@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>TextView textView = new TextView(this);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>textView.setText("First Stack Activity ");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>textView.setOnClickListener(new View.OnClickListener() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onClick(View v) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Intent intent = new Intent();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>intent.setClass(getParent(), ThirdActivity.class);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ActivityStack activityStack = (ActivityStack) getParent();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>activityStack.push("ThirdActivity", intent);<br />
}<br />
});<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
setContentView(textView);<br />
}<br />
}<br />
<div>
<br /></div>
<div>
<br /></div>
<h3 style="text-align: left;">
ThirdActivity.java</h3>
<div>
<div>
<br />
public class ThirdActivity extends Activity {</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span>protected void onCreate(Bundle savedInstanceState) {</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.main);<br />
}<br />
}</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Add Below XML files into your res/layout folder.</div>
<div>
<br /></div>
<h3 style="text-align: left;">
1) tab_screen.xml</h3>
<div>
<div>
<br />
<?xml version="1.0" encoding="utf-8"?></div>
<div>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"</div>
<div>
android:id="@android:id/tabhost"</div>
<div>
android:layout_width="fill_parent"</div>
<div>
android:layout_height="fill_parent" ></div>
<div>
<br /></div>
<div>
<RelativeLayout</div>
<div>
android:layout_width="fill_parent"</div>
<div>
android:layout_height="fill_parent"</div>
<div>
android:orientation="vertical"</div>
<div>
android:padding="3dp" ></div>
<div>
<br /></div>
<div>
<FrameLayout</div>
<div>
android:id="@android:id/tabcontent"</div>
<div>
android:layout_width="fill_parent"</div>
<div>
android:layout_height="fill_parent"</div>
<div>
android:layout_above="@android:id/tabs"</div>
<div>
android:layout_weight="1" /></div>
<div>
<br /></div>
<div>
<TabWidget</div>
<div>
android:id="@android:id/tabs"</div>
<div>
android:layout_width="fill_parent"</div>
<div>
android:layout_height="wrap_content"</div>
<div>
android:layout_alignParentBottom="true" /></div>
<div>
</RelativeLayout></div>
<div>
<br /></div>
<div>
</TabHost></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<h3 style="text-align: left;">
2) main.xml</h3>
<div>
<div>
<br />
<?xml version="1.0" encoding="utf-8"?></div>
<div>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</div>
<div>
android:layout_width="fill_parent"</div>
<div>
android:layout_height="fill_parent"</div>
<div>
android:orientation="vertical" ></div>
<div>
<br /></div>
<div>
<TextView</div>
<div>
android:layout_width="fill_parent"</div>
<div>
android:layout_height="wrap_content"</div>
<div>
android:text="@string/hello" /></div>
<div>
<br /></div>
<div>
</LinearLayout></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<h3 style="text-align: left;">
<b>AndroidManifest.xml:-</b></h3>
<div>
<div>
<br />
<?xml version="1.0" encoding="utf-8"?></div>
<div>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"</div>
<div>
package="com.android.tabsample"</div>
<div>
android:versionCode="1"</div>
<div>
android:versionName="1.0" ></div>
<div>
<br /></div>
<div>
<uses-sdk android:minSdkVersion="8" /></div>
<div>
<br /></div>
<div>
<application</div>
<div>
android:icon="@drawable/ic_launcher"</div>
<div>
android:label="@string/app_name" ></div>
<div>
<activity</div>
<div>
android:name=".FirstActivity"</div>
<div>
android:label="@string/app_name" ></div>
<div>
<intent-filter></div>
<div>
<action android:name="android.intent.action.MAIN" /></div>
<div>
<br /></div>
<div>
<category android:name="android.intent.category.DEFAULT" /></div>
<div>
</intent-filter></div>
<div>
</activity></div>
<div>
<activity</div>
<div>
android:name=".TabActivity"</div>
<div>
android:label="@string/app_name" ></div>
<div>
<intent-filter></div>
<div>
<action android:name="android.intent.action.MAIN" /></div>
<div>
<br /></div>
<div>
<category android:name="android.intent.category.LAUNCHER" /></div>
<div>
</intent-filter></div>
<div>
</activity></div>
<div>
<activity</div>
<div>
android:name=".ActivityStack"</div>
<div>
android:label="@string/app_name" ></div>
<div>
<intent-filter></div>
<div>
<action android:name="android.intent.action.MAIN" /></div>
<div>
<br /></div>
<div>
<category android:name="android.intent.category.DEFAULT" /></div>
<div>
</intent-filter></div>
<div>
</activity></div>
<div>
<activity</div>
<div>
android:name=".SecondActivity"</div>
<div>
android:label="@string/app_name" ></div>
<div>
<intent-filter></div>
<div>
<action android:name="android.intent.action.MAIN" /></div>
<div>
<br /></div>
<div>
<category android:name="android.intent.category.DEFAULT" /></div>
<div>
</intent-filter></div>
<div>
</activity></div>
<div>
<activity</div>
<div>
android:name=".ThirdActivity"</div>
<div>
android:label="@string/app_name" ></div>
<div>
<intent-filter></div>
<div>
<action android:name="android.intent.action.MAIN" /></div>
<div>
<br /></div>
<div>
<category android:name="android.intent.category.DEFAULT" /></div>
<div>
</intent-filter></div>
<div>
</activity></div>
<div>
</application></div>
<div>
<br /></div>
<div>
</manifest><br />
<br />
Download Full Source Code from below link.<br />
<br />
<a href="https://www.dropbox.com/s/d4304456mo7osk2/AndroidBottomTab.zip" target="_blank">Android Bottom Tab Example</a><br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
</div>
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com17tag:blogger.com,1999:blog-5517933713200042322.post-75388670744223713582012-06-21T04:47:00.001-07:002013-01-16T05:24:54.149-08:00Voice Recording in Android<div dir="ltr" style="text-align: left;" trbidi="on">
<b><u>Put below code into your main Activity.</u></b><br />
<br />
private static final String AUDIO_RECORDER_FILE_EXT_3GP = ".3gp";<br />
private static final String AUDIO_RECORDER_FILE_EXT_MP4 = ".mp4";<br />
private static final String AUDIO_RECORDER_FOLDER = "AudioRecorder";<br />
private MediaRecorder recorder = null;<br />
private int currentFormat = 0;<br />
private int output_formats[] = { MediaRecorder.OutputFormat.MPEG_4, MediaRecorder.OutputFormat.THREE_GPP };<br />
private String file_exts[] = { AUDIO_RECORDER_FILE_EXT_MP4, AUDIO_RECORDER_FILE_EXT_3GP };<br />
<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.main);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setButtonHandlers();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>enableButtons(false);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setFormatButtonCaption();<br />
}<br />
<br />
private void setButtonHandlers() {<br />
((Button) findViewById(R.id.btnStart)).setOnClickListener(btnClick);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>((Button) findViewById(R.id.btnStop)).setOnClickListener(btnClick);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>((Button) findViewById(R.id.btnFormat)).setOnClickListener(btnClick);<br />
}<br />
<br />
private void enableButton(int id, boolean isEnable) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>((Button) findViewById(id)).setEnabled(isEnable);<br />
}<br />
<br />
private void enableButtons(boolean isRecording) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>enableButton(R.id.btnStart, !isRecording);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>enableButton(R.id.btnFormat, !isRecording);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>enableButton(R.id.btnStop, isRecording);<br />
}<br />
<br />
private void setFormatButtonCaption() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>((Button) findViewById(R.id.btnFormat)).setText(getString(R.string.audio_format) + " (" + file_exts[currentFormat] + ")");<br />
}<br />
<br />
private String getFilename() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String filepath = Environment.getExternalStorageDirectory().getPath();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>File file = new File(filepath, AUDIO_RECORDER_FOLDER);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (!file.exists()) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>file.mkdirs();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + file_exts[currentFormat]);<br />
}<br />
<br />
private void startRecording() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder = new MediaRecorder();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.setAudioSource(MediaRecorder.AudioSource.MIC);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.setOutputFormat(output_formats[currentFormat]);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.setOutputFile(getFilename());<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.setOnErrorListener(errorListener);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.setOnInfoListener(infoListener);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>try {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.prepare();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.start();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>} catch (IllegalStateException e) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>e.printStackTrace();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>} catch (IOException e) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>e.printStackTrace();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
<br />
private void stopRecording() {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>if (null != recorder) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.stop();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.reset();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder.release();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>recorder = null;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
<br />
private void displayFormatDialog() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>AlertDialog.Builder builder = new AlertDialog.Builder(this);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String formats[] = { "MPEG 4", "3GPP" };<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>builder.setTitle(getString(R.string.choose_format_title)).setSingleChoiceItems(formats, currentFormat, new DialogInterface.OnClickListener() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onClick(DialogInterface dialog, int which) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>currentFormat = which;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setFormatButtonCaption();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>dialog.dismiss();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}).show();<br />
}<br />
<br />
private MediaRecorder.OnErrorListener errorListener = new MediaRecorder.OnErrorListener() {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onError(MediaRecorder mr, int what, int extra) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Toast.makeText(AudioRecordingActivity.this, "Error: " + what + ", " + extra, Toast.LENGTH_SHORT).show();<br />
}<br />
};<br />
<br />
private MediaRecorder.OnInfoListener infoListener = new MediaRecorder.OnInfoListener() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onInfo(MediaRecorder mr, int what, int extra) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Toast.makeText(AudioRecordingActivity.this, "Warning: " + what + ", " + extra, Toast.LENGTH_SHORT).show();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
};<br />
<br />
private View.OnClickListener btnClick = new View.OnClickListener() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onClick(View v) {<br />
switch (v.getId()) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> case R.id.btnStart: {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> Toast.makeText(AudioRecordingActivity.this, "Start Recording", Toast.LENGTH_SHORT).show();<br />
enableButtons(true);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> startRecording();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> break;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> case R.id.btnStop: {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> Toast.makeText(AudioRecordingActivity.this, "Stop Recording", Toast.LENGTH_SHORT).show();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> enableButtons(false);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> stopRecording();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> break;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> case R.id.btnFormat: {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> displayFormatDialog();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> break;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }<br />
}<br />
};<br />
<br />
<br />
Main.xml File:-<br />
<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:orientation="vertical"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:padding="20dip"><br />
<br />
<ImageView<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:src="@drawable/ic_launcher"<br />
android:scaleType="fitCenter"/><br />
<br />
<TextView <br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:text="@string/app_info"<br />
android:layout_weight="1.0"<br />
android:textSize="20dip"/><br />
<br />
<LinearLayout<br />
android:orientation="horizontal"<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"><br />
<br />
<Button<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:id="@+id/btnStart"<br />
android:text="@string/start_recording"<br />
android:layout_weight="1.0"/><br />
<br />
<Button<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:id="@+id/btnStop"<br />
android:text="@string/stop_recording"<br />
android:layout_weight="1.0"/><br />
<br />
<Button<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:id="@+id/btnFormat"<br />
android:text="Format (mp4)"<br />
android:layout_weight="1.0"/><br />
<br />
</LinearLayout><br />
</LinearLayout><br />
<br />
<br />
Add Below Permissions to manifest.xml file.<br />
<br />
<uses-permission android:name="android.permission.RECORD_AUDIO"/><br />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><br />
<br />
Download Full Source Code from below link.<br />
<br />
<a href="https://www.dropbox.com/s/rhcswyht20xhud2/Android%20Audio%20Recording.zip" target="_blank">Voice Recording in Android</a><br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com42tag:blogger.com,1999:blog-5517933713200042322.post-75092385467983838792012-06-21T04:20:00.001-07:002016-06-16T22:43:37.990-07:00Play Online Video in Android Device<div dir="ltr" style="text-align: left;" trbidi="on">
Put Below Code into your Application.<br />
<br />
MainActivity.java File:-<br />
<br />
<span class="Apple-style-span">public class </span>MainActivity<span class="Apple-style-span"> extends Activity {</span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public static String url = "rtsp://v3.cache8.c.youtube.com/CiILENy73wIaGQmXovF6e-Rf-BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp";<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>private VideoView videoView = null;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>private ProgressBar prog = null;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>private Context ctx = null;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>private MediaController mediaController = null;<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>requestWindowFeature(Window.FEATURE_NO_TITLE);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>WindowManager.LayoutParams.FLAG_FULLSCREEN);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>getWindow().setFormat(PixelFormat.TRANSLUCENT);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.main);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ctx = this;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>prog = (ProgressBar) findViewById(R.id.prog);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>videoView = (VideoView) findViewById(R.id.video);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Uri video = Uri.parse(url);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mediaController = new MediaController(this);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>mediaController.setAnchorView(videoView);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>videoView.setMediaController(mediaController);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>videoView.setVideoURI(video);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>videoView.setOnErrorListener(new OnErrorListener() {<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean onError(MediaPlayer mp, int what, int extra) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Toast.makeText(ctx, "Error occured", 500).show();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return false;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>});<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>videoView.setOnPreparedListener(new OnPreparedListener() {<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onPrepared(MediaPlayer arg0) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>prog.setVisibility(View.GONE);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>videoView.start();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>});<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>protected void onDestroy() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>try {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>videoView.stopPlayback();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>} catch (Exception e) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onDestroy();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
<br />
<br />
Main.xml File:-<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:orientation="vertical" ><br />
<br />
<FrameLayout<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent" ><br />
<br />
<VideoView<br />
android:id="@+id/video"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:layout_gravity="center" /><br />
<br />
<ProgressBar<br />
android:id="@+id/prog"<br />
android:layout_width="70dp"<br />
android:layout_height="70dp"<br />
android:layout_gravity="center" /><br />
</FrameLayout><br />
<br />
</LinearLayout><br />
<br />
<br />
And Give Below Permission into your Manifest.xml file.<br />
<br />
<uses-permission android:name="android.permission.INTERNET"/><br />
<br />
Enjoy:--)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com23tag:blogger.com,1999:blog-5517933713200042322.post-1394982444462137322012-06-19T03:04:00.001-07:002016-06-16T22:44:20.399-07:00How to get Browser History in Android?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
Call below function.<br />
<br />
public void getBrowserHist() {<br />
Cursor mCur = managedQuery(Browser.BOOKMARKS_URI,<br />
Browser.HISTORY_PROJECTION, null, null, null);<br />
mCur.moveToFirst();<br />
if (mCur.moveToFirst() && mCur.getCount() > 0) {<br />
while (mCur.isAfterLast() == false) {<br />
Log.v("titleIdx", mCur<br />
.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX));<br />
Log.v("urlIdx", mCur<br />
.getString(Browser.HISTORY_PROJECTION_URL_INDEX));<br />
mCur.moveToNext();<br />
}<br />
}<br />
}<br />
<br />
<br />
Add below uses-permission into your manifest file.<br />
<br />
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/><br />
<br />
Enjoy :-)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com25tag:blogger.com,1999:blog-5517933713200042322.post-85407895321142259212012-06-18T03:05:00.004-07:002013-01-16T05:26:31.189-08:00Convert Bitmap into ByteArray<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.abstrakt);<br />
ByteArrayOutputStream stream = new ByteArrayOutputStream();<br />
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);<br />
byte[] byteArray = stream.toByteArray();<br />
<br />
<br />
Enjoy:--)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com1tag:blogger.com,1999:blog-5517933713200042322.post-37524375830726684862012-06-09T05:09:00.000-07:002013-01-16T05:27:03.660-08:00Delete All Call log in Android<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Write Below Line into your Button on Click Event.</b><br />
<br />
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI, null, null);<br />
<br />
<br />
<b>And Give Below Permission into your Android manifest.XML file.</b><br />
<br />
<uses-permission android:name="android.permission.READ_CONTACTS"/><br />
<uses-permission android:name="android.permission.READ_LOGS"/><br />
<uses-permission android:name="android.permission.WRITE_CONTACTS"/><br />
<br />
<br />
Enjoy :-)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com1tag:blogger.com,1999:blog-5517933713200042322.post-3636158530781134342012-06-07T00:26:00.000-07:002013-01-18T05:29:27.580-08:00Integrate Paypal in Android Application<div dir="ltr" style="text-align: left;" trbidi="on">
First Create New Android Project and then Add below Code.<br />
<b><br /></b>
<b>MainActivity.java</b><br />
<br />
public class PizzaMain extends Activity implements OnClickListener {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>/** Called when the activity is first created. */<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.main);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PayPal ppObj = PayPal.initWithAppID(this.getBaseContext(), "APP-80W284485P519543T", PayPal.ENV_NONE);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>CheckoutButton launchPayPalButton = ppObj.getCheckoutButton(this, PayPal.BUTTON_152x33, CheckoutButton.TEXT_PAY);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>params.addRule(RelativeLayout.CENTER_HORIZONTAL);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>launchPayPalButton.setLayoutParams(params);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>launchPayPalButton.setOnClickListener(this);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>((RelativeLayout) findViewById(R.id.mRlayout1)).addView(launchPayPalButton);<br />
}<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onClick(View v) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PayPalPayment newPayment = new PayPalPayment();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>char val[] = { '5', '0' };<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>BigDecimal obj_0 = new BigDecimal(val);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>newPayment.setSubtotal(obj_0);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>newPayment.setCurrencyType("USD");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>newPayment.setRecipient("my@email.com");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>newPayment.setMerchantName("My Company");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Intent paypalIntent = PayPal.getInstance().checkout(newPayment, this);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>this.startActivityForResult(paypalIntent, 1);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@SuppressWarnings("unused")<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onActivityResult(int requestCode, int resultCode, Intent data) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>switch (resultCode) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>case Activity.RESULT_OK:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// The payment succeeded<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String payKey = data.getStringExtra(PayPalActivity.EXTRA_PAY_KEY);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// Tell the user their payment succeeded<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>case Activity.RESULT_CANCELED:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// The payment was canceled<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// Tell the user their payment was canceled<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>case PayPalActivity.RESULT_FAILURE:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// The payment failed -- we get the error from the EXTRA_ERROR_ID<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// and EXTRA_ERROR_MESSAGE<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String errorID = data.getStringExtra(PayPalActivity.EXTRA_ERROR_ID);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String errorMessage = data.getStringExtra(PayPalActivity.EXTRA_ERROR_MESSAGE);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// Tell the user their payment was failed.<br />
break;<br />
}<br />
}<br />
}<br />
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><br /></span></span>
<b>
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;">And Give below permissions</span></span></span><span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"> into your AndroidManifest.xml file.</span></span></span></b><br />
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><br /></span></span></span>
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;"><uses-permission android:name="android.permission.INTERNET"/></span><br />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/><br />
<div style="font-size: 15px; line-height: 20px;">
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><br /></span></div>
<div style="font-size: 15px; line-height: 20px;">
<b><span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">And Add Activity </span><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">into your AndroidManifest.xml file.</span></b><br />
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><br /></span></div>
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"><activity</span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"> android:name="com.paypal.android.MEP.PayPalActivity"</span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"> android:configChanges="keyboardHidden|orientation"</span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span class="Apple-style-span" style="font-size: 15px; line-height: 20px;"> android:theme="@android:style/Theme.Translucent.NoTitleBar" /></span></span><br />
<br />
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">Add <b>PayPal_MPL.jar</b> Jar File as a Refrence Library into Your application</span><br />
<br />
Enjoy :-)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com11tag:blogger.com,1999:blog-5517933713200042322.post-92143371287898761152012-06-07T00:07:00.002-07:002013-01-16T05:27:36.282-08:00Export Contacts as a VCF file in Android<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
public class VCardActivity extends Activity {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Cursor cursor;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ArrayList<String> vCard;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String vfile;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>static Context mContext;<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>/** Called when the activity is first created. */<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.main);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mContext = VCardActivity.this;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>getVCF();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public static void getVCF() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>final String vfile = "Contacts.vcf";<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Cursor phones = mContext.getContentResolver().query(<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,<br />
null, null, null);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>phones.moveToFirst();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for (int i = 0; i < phones.getCount(); i++) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String lookupKey = phones.getString(phones<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Uri uri = Uri.withAppendedPath(<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ContactsContract.Contacts.CONTENT_VCARD_URI,<br />
lookupKey);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>AssetFileDescriptor fd;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>try {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>fd = mContext.getContentResolver().openAssetFileDescriptor(uri, "r");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>FileInputStream fis = fd.createInputStream();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>byte[] buf = new byte[(int) fd.getDeclaredLength()];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>fis.read(buf);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String VCard = new String(buf);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>String path = Environment.getExternalStorageDirectory()<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>.toString() + File.separator + vfile;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>FileOutputStream mFileOutputStream = new FileOutputStream(path,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>true);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mFileOutputStream.write(VCard.toString().getBytes());<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>phones.moveToNext();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Log.d("Vcard", VCard);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>} catch (Exception e1) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated catch block<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>e1.printStackTrace();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
<br />
Enjoy :-)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com11tag:blogger.com,1999:blog-5517933713200042322.post-60514244442866391742012-05-30T22:13:00.001-07:002013-01-18T05:30:45.715-08:00Android – Send Email Via GMail (Actually Via SMTP)<div dir="ltr" style="text-align: left;" trbidi="on">
Create New Android Project and after that add below code into your MainActivity.java and activity_main.xml file.<br />
<br />
<br />
<b>MainActivity.java</b><br />
<br />
public class MainActivity extends Activity {<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>protected void onCreate(Bundle savedInstanceState) {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>setContentView(R.layout.activity_main);<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>Button login = (Button) findViewById(R.id.mBtnSubmit);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>login.setOnClickListener(new View.OnClickListener() {<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>public void onClick(View arg0) {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>Properties props = new Properties();<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>props.put("mail.smtp.host", "smtp.gmail.com");<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>props.put("mail.smtp.socketFactory.port", "465");<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>props.put("mail.smtp.auth", "true");<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>props.put("mail.smtp.port", "465");<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {<br />
protected PasswordAuthentication getPasswordAuthentication() {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>return new PasswordAuthentication(<span class="Apple-tab-span" style="white-space: pre;">"</span>dipakkeshariya@android.com", <span class="Apple-tab-span" style="white-space: pre;">"</span>dipakkeshariya");<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>});<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>try {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>Message message = new MimeMessage(session);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>message.setFrom(new InternetAddress("dipak.keshariya@android.com"));<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>message.setRecipients(Message.RecipientType.TO, <span class="Apple-tab-span" style="white-space: pre;">I</span>nternetAddress.parse("dipak.keshariya@mobileappdeveloper.com"));<br />
<span class="Apple-tab-span" style="white-space: pre;"> m</span>essage.setSubject("Testing Subject");<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>message.setContent("Hi Dipak Keshariya (Android Developer)", "text/html; charset=utf-8");<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>Transport.send(message);<br />
<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>} catch (MessagingException e) {<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>throw new RuntimeException(e);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>}<br />
}<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>});<br />
}<br />
}<br />
<br />
<br />
<b>activity_main.xml</b><br />
<br />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
xmlns:tools="http://schemas.android.com/tools"<br />
android:layout_width="match_parent"<br />
android:layout_height="match_parent"<br />
tools:context=".MainActivity" ><br />
<br />
<TextView<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:layout_centerHorizontal="true"<br />
android:layout_centerVertical="true"<br />
android:text="@string/hello_world" /><br />
<br />
<Button<br />
android:id="@+id/mBtnSubmit"<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:layout_alignParentBottom="true"<br />
android:layout_centerHorizontal="true"<br />
android:layout_marginTop="5dip"<br />
android:text="Send Mail" /><br />
<br />
</RelativeLayout><br />
<br />
<br />
Download below 3 jar file and add into project's build path.<br />
<br />
1) activation.jar<br />
2) additionnal.jar<br />
3) mail.jar<br />
<br />
Give Following uses-permission into your Android Manifest file<br />
<br />
1) <uses-permission android:name="android.permission.INTERNET"/><br />
<br />
Now Run Your Project.<br />
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;"><br /></span>
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">Enjoy :-)</span><br />
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;"><br /></span><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;">Don’t forget to provide feedback or follow this blog, if you find this blog is useful.</span><br />
<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px;"><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small; line-height: normal;"><br /></span></span></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com33tag:blogger.com,1999:blog-5517933713200042322.post-43560316700200511302012-05-23T03:41:00.001-07:002013-01-16T05:31:55.845-08:00Simple Notification Example<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Put Below Code in onClicklistener( ) event of Button</b><br />
<br />
Timer timer = new Timer();<br />
timer.schedule(new TimerTask() {<br />
@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void run() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// Notification Title and Message<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Notification("This is message from Dipak Keshariya (Android Application Developer)", "This is Android Notification Message");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}, 0);<br />
<br />
<br />
<b>And write below Method in your MainActivity</b><br />
<br />
private void Notification(String notificationTitle, String notificationMessage) {<br />
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);<br />
android.app.Notification notification = new android.app.Notification(R.drawable.ic_launcher, "A New Message from Dipak Keshariya (Android Developer)!",<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>System.currentTimeMillis());<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Intent notificationIntent = new Intent(this, AndroidNotifications.class);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);<br />
notification.setLatestEventInfo(AndroidNotifications.this, notificationTitle, notificationMessage, pendingIntent);<br />
<span class="Apple-style-span" style="white-space: pre;"> </span>notificationManager.notify(10001, notification);<br />
}<br />
<br />
And Now Run Your Project.<br />
<br />
Enjoy :-)<br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com11tag:blogger.com,1999:blog-5517933713200042322.post-29184677257415160952012-01-04T03:22:00.000-08:002013-01-16T05:32:28.910-08:00How to Finish Activity from another View in Android?<div dir="ltr" style="text-align: left;" trbidi="on">
Write below code after startactivity(intent) for finish the activity from the view/class.<br />
<br />
((Activity_Name1) context).finish();<br />
<br />
Enjoy :-----) <br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com0tag:blogger.com,1999:blog-5517933713200042322.post-91354977885714803082011-12-30T05:17:00.000-08:002013-01-18T05:36:26.710-08:00How to Integrate Twitter in Android Application?<div dir="ltr" style="text-align: left;" trbidi="on">
Create New Project & Add Following Code to Your MainActivity.java File:-<br />
<br />
<b>MainActivity.java</b><br />
<br />
private TwitterApp mTwitter;<br />
private static final String CONSUMER_KEY = "your consumer key"; <br />
private static final String CONSUMER_SECRET = "your consumer secret key"; <br />
<br />
private enum FROM {<br />
TWITTER_POST, TWITTER_LOGIN<br />
};<br />
<br />
private enum MESSAGE {<br />
SUCCESS, DUPLICATE, FAILED, CANCELLED<br />
};<br />
<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
mTwitter = new TwitterApp(this, CONSUMER_KEY, CONSUMER_SECRET);<br />
}<br />
<br />
public void onClick(View v) {<br />
mTwitter.setListener(mTwLoginDialogListener);<br />
mTwitter.resetAccessToken();<br />
if (mTwitter.hasAccessToken() == true) {<br />
try {<br />
mTwitter.updateStatus(TwitterApp.MESSAGE);<br />
postAsToast(FROM.TWITTER_POST, MESSAGE.SUCCESS);<br />
} catch (Exception e) {<br />
if (e.getMessage().toString().contains("duplicate")) {<br />
postAsToast(FROM.TWITTER_POST, MESSAGE.DUPLICATE);<br />
}<br />
e.printStackTrace();<br />
}<br />
mTwitter.resetAccessToken();<br />
} else {<br />
mTwitter.authorize();<br />
}<br />
}<br />
<br />
private void postAsToast(FROM twitterPost, MESSAGE success) {<br />
switch (twitterPost) {<br />
case TWITTER_LOGIN:<br />
switch (success) {<br />
case SUCCESS:<br />
Toast.makeText(this, "Login Successful", Toast.LENGTH_LONG)<br />
.show();<br />
break;<br />
case FAILED:<br />
Toast.makeText(this, "Login Failed", Toast.LENGTH_LONG).show();<br />
default:<br />
break;<br />
}<br />
break;<br />
case TWITTER_POST:<br />
switch (success) {<br />
case SUCCESS:<br />
Toast.makeText(this, "Posted Successfully", Toast.LENGTH_LONG)<br />
.show();<br />
break;<br />
case FAILED:<br />
Toast.makeText(this, "Posting Failed", Toast.LENGTH_LONG)<br />
.show();<br />
break;<br />
case DUPLICATE:<br />
Toast.makeText(this,<br />
"Posting Failed because of duplicate message...",<br />
Toast.LENGTH_LONG).show();<br />
default:<br />
break;<br />
}<br />
break;<br />
}<br />
}<br />
<br />
private TwDialogListener mTwLoginDialogListener = new TwDialogListener() {<br />
<br />
@Override<br />
public void onError(String value) {<br />
postAsToast(FROM.TWITTER_LOGIN, MESSAGE.FAILED);<br />
Log.e("TWITTER", value);<br />
mTwitter.resetAccessToken();<br />
}<br />
<br />
@Override<br />
public void onComplete(String value) {<br />
try {<br />
mTwitter.updateStatus(TwitterApp.MESSAGE);<br />
postAsToast(FROM.TWITTER_POST, MESSAGE.SUCCESS);<br />
} catch (Exception e) {<br />
if (e.getMessage().toString().contains("duplicate")) {<br />
postAsToast(FROM.TWITTER_POST, MESSAGE.DUPLICATE);<br />
}<br />
e.printStackTrace();<br />
}<br />
mTwitter.resetAccessToken();<br />
}<br />
};<br />
<br />
<br />
Add Following 3 Class into New Package <b>"com.twitter.android"</b><br />
<br />
<b>Class 1:-(TwitterApp.java)</b><br />
<br />
package com.twitter.android;<br />
<br />
import java.net.MalformedURLException;<br />
import java.net.URL;<br />
import java.net.URLDecoder;<br />
import oauth.signpost.OAuthProvider;<br />
import oauth.signpost.basic.DefaultOAuthProvider;<br />
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;<br />
import twitter4j.Twitter;<br />
import twitter4j.TwitterException;<br />
import twitter4j.TwitterFactory;<br />
import twitter4j.User;<br />
import twitter4j.http.AccessToken;<br />
import android.app.Activity;<br />
import android.app.ProgressDialog;<br />
import android.os.Handler;<br />
import android.os.Message;<br />
import android.view.Window;<br />
<br />
public class TwitterApp {<br />
private Twitter mTwitter;<br />
private TwitterSession mSession;<br />
private AccessToken mAccessToken;<br />
private CommonsHttpOAuthConsumer mHttpOauthConsumer;<br />
private OAuthProvider mHttpOauthprovider;<br />
private String mConsumerKey;<br />
private String mSecretKey;<br />
private ProgressDialog mProgressDlg;<br />
private TwDialogListener mListener;<br />
private Activity context;<br />
public static final String OAUTH_CALLBACK_SCHEME = "x-oauthflow-twitter";<br />
public static final String OAUTH_CALLBACK_HOST = "callback";<br />
public static final String CALLBACK_URL = OAUTH_CALLBACK_SCHEME + "://" + OAUTH_CALLBACK_HOST;<br />
private static final String TWITTER_ACCESS_TOKEN_URL = "https://api.twitter.com/oauth/access_token";<br />
private static final String TWITTER_AUTHORZE_URL = "https://api.twitter.com/oauth/authorize";<br />
private static final String TWITTER_REQUEST_URL = "https://api.twitter.com/oauth/request_token";<br />
public static final String MESSAGE = "Hello Everyone....from Dipak Keshariya";<br />
<br />
public TwitterApp(Activity context, String consumerKey, String secretKey) {<br />
this.context = context;<br />
<br />
mTwitter = new TwitterFactory().getInstance();<br />
mSession = new TwitterSession(context);<br />
mProgressDlg = new ProgressDialog(context);<br />
<br />
mProgressDlg.requestWindowFeature(Window.FEATURE_NO_TITLE);<br />
<br />
mConsumerKey = consumerKey;<br />
mSecretKey = secretKey;<br />
<br />
mHttpOauthConsumer = new CommonsHttpOAuthConsumer(mConsumerKey,<br />
mSecretKey);<br />
<br />
String request_url=TWITTER_REQUEST_URL;<br />
String access_token_url=TWITTER_ACCESS_TOKEN_URL;<br />
String authorize_url=TWITTER_AUTHORZE_URL;<br />
<br />
mHttpOauthprovider = new DefaultOAuthProvider(<br />
request_url,<br />
access_token_url,<br />
authorize_url);<br />
mAccessToken = mSession.getAccessToken();<br />
<br />
configureToken();<br />
}<br />
<br />
public void setListener(TwDialogListener listener) {<br />
mListener = listener;<br />
}<br />
<br />
@SuppressWarnings("deprecation")<br />
private void configureToken() {<br />
if (mAccessToken != null) {<br />
mTwitter.setOAuthConsumer(mConsumerKey, mSecretKey);<br />
mTwitter.setOAuthAccessToken(mAccessToken);<br />
}<br />
}<br />
<br />
public boolean hasAccessToken() {<br />
return (mAccessToken == null) ? false : true;<br />
}<br />
<br />
public void resetAccessToken() {<br />
if (mAccessToken != null) {<br />
mSession.resetAccessToken();<br />
<br />
mAccessToken = null;<br />
}<br />
}<br />
<br />
public String getUsername() {<br />
return mSession.getUsername();<br />
}<br />
<br />
public void updateStatus(String status) throws Exception {<br />
try {<br />
mTwitter.updateStatus(status);<br />
// File f = new File("/mnt/sdcard/74.jpg");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> // mTwitter.updateProfileImage(f);<br />
} catch (TwitterException e) {<br />
throw e;<br />
}<br />
}<br />
<br />
public void authorize() {<br />
mProgressDlg.setMessage("Initializing ...");<br />
mProgressDlg.show();<br />
<br />
new Thread() {<br />
@Override<br />
public void run() {<br />
String authUrl = "";<br />
int what = 1;<br />
<br />
try {<br />
authUrl = mHttpOauthprovider.retrieveRequestToken(<br />
mHttpOauthConsumer, CALLBACK_URL);<br />
what = 0;<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}<br />
mHandler.sendMessage(mHandler<br />
.obtainMessage(what, 1, 0, authUrl));<br />
}<br />
}.start();<br />
}<br />
<br />
public void processToken(String callbackUrl) {<br />
mProgressDlg.setMessage("Finalizing ...");<br />
mProgressDlg.show();<br />
<br />
final String verifier = getVerifier(callbackUrl);<br />
<br />
new Thread() {<br />
@Override<br />
public void run() {<br />
int what = 1;<br />
<br />
try {<br />
mHttpOauthprovider.retrieveAccessToken(mHttpOauthConsumer,<br />
verifier);<br />
<br />
mAccessToken = new AccessToken(<br />
mHttpOauthConsumer.getToken(),<br />
mHttpOauthConsumer.getTokenSecret());<br />
<br />
configureToken();<br />
<br />
User user = mTwitter.verifyCredentials();<br />
<br />
mSession.storeAccessToken(mAccessToken, user.getName());<br />
<br />
what = 0;<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}<br />
<br />
mHandler.sendMessage(mHandler.obtainMessage(what, 2, 0));<br />
}<br />
}.start();<br />
}<br />
<br />
private String getVerifier(String callbackUrl) {<br />
String verifier = "";<br />
<br />
try {<br />
callbackUrl = callbackUrl.replace("twitterapp", "http");<br />
<br />
URL url = new URL(callbackUrl);<br />
String query = url.getQuery();<br />
<br />
String array[] = query.split("&");<br />
<br />
for (String parameter : array) {<br />
String v[] = parameter.split("=");<br />
<br />
if (URLDecoder.decode(v[0]).equals(<br />
oauth.signpost.OAuth.OAUTH_VERIFIER)) {<br />
verifier = URLDecoder.decode(v[1]);<br />
break;<br />
}<br />
}<br />
} catch (MalformedURLException e) {<br />
e.printStackTrace();<br />
}<br />
<br />
return verifier;<br />
}<br />
<br />
private void showLoginDialog(String url) {<br />
final TwDialogListener listener = new TwDialogListener() {<br />
<br />
public void onComplete(String value) {<br />
processToken(value);<br />
}<br />
<br />
public void onError(String value) {<br />
mListener.onError("Failed opening authorization page");<br />
}<br />
};<br />
<br />
new TwitterDialog(context, url, listener).show();<br />
}<br />
<br />
private Handler mHandler = new Handler() {<br />
@Override<br />
public void handleMessage(Message msg) {<br />
mProgressDlg.dismiss();<br />
<br />
if (msg.what == 1) {<br />
if (msg.arg1 == 1)<br />
mListener.onError("Error getting request token");<br />
else<br />
mListener.onError("Error getting access token");<br />
} else {<br />
if (msg.arg1 == 1)<br />
showLoginDialog((String) msg.obj);<br />
else<br />
mListener.onComplete("");<br />
}<br />
}<br />
};<br />
<br />
public interface TwDialogListener {<br />
public void onComplete(String value);<br />
<br />
public void onError(String value);<br />
}<br />
}<br />
<br />
<br />
<b>Class 2:- (TwitterDialog.java)</b><br />
<br />
package com.twitter.android;<br />
<br />
import android.app.Dialog;<br />
import android.app.ProgressDialog;<br />
import android.content.Context;<br />
import android.graphics.Bitmap;<br />
import android.graphics.Color;<br />
import android.graphics.Typeface;<br />
import android.graphics.drawable.Drawable;<br />
import android.os.Bundle;<br />
import android.view.Display;<br />
import android.view.ViewGroup;<br />
import android.view.Window;<br />
import android.webkit.WebView;<br />
import android.webkit.WebViewClient;<br />
import android.widget.FrameLayout;<br />
import android.widget.LinearLayout;<br />
import android.widget.TextView;<br />
import com.twitter.android.TwitterApp.TwDialogListener;<br />
<br />
public class TwitterDialog extends Dialog {<br />
<br />
static final float[] DIMENSIONS_LANDSCAPE = { 460, 260 };<br />
static final float[] DIMENSIONS_PORTRAIT = { 280, 420 };<br />
static final FrameLayout.LayoutParams FILL = new FrameLayout.LayoutParams(<br />
ViewGroup.LayoutParams.FILL_PARENT,<br />
ViewGroup.LayoutParams.FILL_PARENT);<br />
static final int MARGIN = 4;<br />
static final int PADDING = 2;<br />
private String mUrl;<br />
private TwDialogListener mListener;<br />
private ProgressDialog mSpinner;<br />
private WebView mWebView;<br />
private LinearLayout mContent;<br />
private TextView mTitle;<br />
private boolean progressDialogRunning = false;<br />
<br />
public TwitterDialog(Context context, String url, TwDialogListener listener) {<br />
super(context);<br />
mUrl = url;<br />
mListener = listener;<br />
}<br />
<br />
@Override<br />
protected void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
mSpinner = new ProgressDialog(getContext());<br />
mSpinner.requestWindowFeature(Window.FEATURE_NO_TITLE);<br />
mSpinner.setMessage("Loading...");<br />
mContent = new LinearLayout(getContext());<br />
mContent.setOrientation(LinearLayout.VERTICAL);<br />
<br />
setUpTitle();<br />
setUpWebView();<br />
<br />
Display display = getWindow().getWindowManager().getDefaultDisplay();<br />
final float scale = getContext().getResources().getDisplayMetrics().density;<br />
float[] dimensions = (display.getWidth() < display.getHeight()) ? DIMENSIONS_PORTRAIT<br />
: DIMENSIONS_LANDSCAPE;<br />
addContentView(mContent, new FrameLayout.LayoutParams(<br />
(int) (dimensions[0] * scale + 0.5f), (int) (dimensions[1]<br />
* scale + 0.5f)));<br />
}<br />
<br />
private void setUpTitle() {<br />
requestWindowFeature(Window.FEATURE_NO_TITLE);<br />
Drawable icon = getContext().getResources().getDrawable(<br />
R.drawable.twitter_icon);<br />
mTitle = new TextView(getContext());<br />
mTitle.setText("Twitter");<br />
mTitle.setTextColor(Color.WHITE);<br />
mTitle.setTypeface(Typeface.DEFAULT_BOLD);<br />
mTitle.setBackgroundColor(0xFFbbd7e9);<br />
mTitle.setPadding(MARGIN + PADDING, MARGIN, MARGIN, MARGIN);<br />
mTitle.setCompoundDrawablePadding(MARGIN + PADDING);<br />
mTitle.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);<br />
mContent.addView(mTitle);<br />
}<br />
<br />
private void setUpWebView() {<br />
mWebView = new WebView(getContext());<br />
mWebView.setVerticalScrollBarEnabled(false);<br />
mWebView.setHorizontalScrollBarEnabled(false);<br />
mWebView.setWebViewClient(new TwitterWebViewClient());<br />
mWebView.getSettings().setJavaScriptEnabled(true);<br />
mWebView.loadUrl(mUrl);<br />
mWebView.setLayoutParams(FILL);<br />
mContent.addView(mWebView);<br />
}<br />
<br />
private class TwitterWebViewClient extends WebViewClient {<br />
<br />
@Override<br />
public boolean shouldOverrideUrlLoading(WebView view, String url) {<br />
if (url.startsWith(TwitterApp.CALLBACK_URL)) {<br />
mListener.onComplete(url);<br />
<br />
TwitterDialog.this.dismiss();<br />
<br />
return true;<br />
} else if (url.startsWith("authorize")) {<br />
return false;<br />
}<br />
return true;<br />
}<br />
<br />
@Override<br />
public void onReceivedError(WebView view, int errorCode,<br />
String description, String failingUrl) {<br />
super.onReceivedError(view, errorCode, description, failingUrl);<br />
mListener.onError(description);<br />
TwitterDialog.this.dismiss();<br />
}<br />
<br />
@Override<br />
public void onPageStarted(WebView view, String url, Bitmap favicon) {<br />
super.onPageStarted(view, url, favicon);<br />
mSpinner.show();<br />
progressDialogRunning = true;<br />
}<br />
<br />
@Override<br />
public void onPageFinished(WebView view, String url) {<br />
super.onPageFinished(view, url);<br />
String title = mWebView.getTitle();<br />
if (title != null && title.length() > 0) {<br />
mTitle.setText(title);<br />
}<br />
progressDialogRunning = false;<br />
mSpinner.dismiss();<br />
}<br />
}<br />
<br />
@Override<br />
protected void onStop() {<br />
progressDialogRunning = false;<br />
super.onStop();<br />
}<br />
<br />
public void onBackPressed() {<br />
if(!progressDialogRunning){<br />
TwitterDialog.this.dismiss();<br />
}<br />
}<br />
}<br />
<br />
<br />
<b>Class 3:- (TwitterSession.java)</b><br />
<br />
package com.twitter.android;<br />
<br />
import android.content.SharedPreferences;<br />
import android.content.SharedPreferences.Editor;<br />
import android.content.Context;<br />
import twitter4j.http.AccessToken;<br />
<br />
public class TwitterSession {<br />
private SharedPreferences sharedPref;<br />
private Editor editor;<br />
<br />
private static final String TWEET_AUTH_KEY = "auth_key";<br />
private static final String TWEET_AUTH_SECRET_KEY = "auth_secret_key";<br />
private static final String TWEET_USER_NAME = "user_name";<br />
private static final String SHARED = "Twitter_Preferences";<br />
<br />
public TwitterSession(Context context) {<br />
sharedPref = context.getSharedPreferences(SHARED, Context.MODE_PRIVATE);<br />
editor = sharedPref.edit();<br />
}<br />
<br />
public void storeAccessToken(AccessToken accessToken, String username) {<br />
editor.putString(TWEET_AUTH_KEY, accessToken.getToken());<br />
editor.putString(TWEET_AUTH_SECRET_KEY, accessToken.getTokenSecret());<br />
editor.putString(TWEET_USER_NAME, username);<br />
editor.commit();<br />
}<br />
<br />
public void resetAccessToken() {<br />
editor.putString(TWEET_AUTH_KEY, null);<br />
editor.putString(TWEET_AUTH_SECRET_KEY, null);<br />
editor.putString(TWEET_USER_NAME, null);<br />
editor.commit();<br />
}<br />
<br />
public String getUsername() {<br />
return sharedPref.getString(TWEET_USER_NAME, "");<br />
}<br />
<br />
public AccessToken getAccessToken() {<br />
String token = sharedPref.getString(TWEET_AUTH_KEY, null);<br />
String tokenSecret = sharedPref.getString(TWEET_AUTH_SECRET_KEY, null);<br />
<br />
if (token != null && tokenSecret != null)<br />
return new AccessToken(token, tokenSecret);<br />
else<br />
return null;<br />
}<br />
}<br />
<br />
<b>Add Following Jar File as a Refrence Library to Your Project</b><br />
<br />
1) signpost-commonshttp4-1.2.1.1.jar<br />
2) signpost-core-1.2.1.1.jar<br />
3) signpost-jetty6-1.2.1.1.jar<br />
4) twitter4j-core-2.1.6.jar<br />
<br />
<br />
Now Run Your Project.<br />
<br />
Enjoy :----)<br />
<br />
You can download full source code from below link.<br />
<br />
<a href="https://www.dropbox.com/s/13fqi25oslx55qz/Twitter%20-%20Android.zip" target="_blank">Android - Twitter</a><br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com108tag:blogger.com,1999:blog-5517933713200042322.post-55428049993707000572011-12-30T04:55:00.000-08:002013-01-18T05:41:38.803-08:00How to Update Facebook Status from Android Application?<div dir="ltr" style="text-align: left;" trbidi="on">
First Download Facebook Android SDK from github then Create New Project and Write below Code into OnClicklistener of Button.<br />
<br />
<b>MainActivity.java</b><br />
<b><br /></b>
Facebook facebook = new Facebook(APP_ID);<br />
restoreCredentials(facebook);<br />
messageToPost = "Hello Everyone.";<br />
if (!facebook.isSessionValid()) {<br />
loginAndPostToWall();<br />
} else {<br />
postToWall(messageToPost);<br />
}<br />
<br />
<br />
<b>Declare below variables into MainActivity.java</b><br />
<br />
private Facebook facebook;<br />
private String messageToPost;<br />
private static final String APP_ID = "152424051507008";<br />
private static final String[] PERMISSIONS = new String[] { "publish_stream" };<br />
private static final String TOKEN = "access_token";<br />
private static final String EXPIRES = "expires_in";<br />
private static final String KEY = "facebook-credentials";<br />
<br />
<br />
<b>Add below methods into your MainActivity.java</b><br />
<br />
public boolean saveCredentials(Facebook facebook) {<br />
Editor editor = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE).edit();<br />
editor.putString(TOKEN, facebook.getAccessToken());<br />
editor.putLong(EXPIRES, facebook.getAccessExpires());<br />
return editor.commit();<br />
}<br />
<br />
public boolean restoreCredentials(Facebook facebook) {<br />
SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(KEY, Context.MODE_PRIVATE);<br />
facebook.setAccessToken(sharedPreferences.getString(TOKEN, null));<br />
facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0));<br />
return facebook.isSessionValid();<br />
}<br />
<br />
public void loginAndPostToWall() {<br />
facebook.authorize(this, PERMISSIONS,Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener());<br />
}<br />
<br />
public void postToWall(String message) {<br />
Bundle parameters = new Bundle();<br />
parameters.putString("message", message);<br />
parameters.putString("description", "topic share");<br />
try {<br />
facebook.request("me");<br />
String response = facebook.request("me/feed", parameters, "POST");<br />
Log.d("Tests", "got response: " + response);<br />
if (response == null || response.equals("") || response.equals("false")) {<br />
showToast("Blank response.");<br />
} else {<br />
showToast("Message posted to your facebook wall!");<br />
}<br />
} catch (Exception e) {<br />
showToast("Failed to post to wall!");<br />
e.printStackTrace();<br />
}<br />
}<br />
<br />
class LoginDialogListener implements DialogListener {<br />
public void onComplete(Bundle values) {<br />
saveCredentials(facebook);<br />
if (messageToPost != null) {<br />
postToWall(messageToPost);<br />
}<br />
}<br />
<br />
public void onFacebookError(FacebookError error) {<br />
showToast("Authentication with Facebook failed!");<br />
}<br />
<br />
public void onError(DialogError error) {<br />
showToast("Authentication with Facebook failed!");<br />
}<br />
<br />
public void onCancel() {<br />
showToast("Authentication with Facebook cancelled!");<br />
}<br />
}<br />
<br />
private void showToast(String message) {<br />
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT)<br />
.show();<br />
}<br />
<br />
<br />
Now Run Your Project<br />
<br />
Enjoy :-)<br />
<br />
You can download complete source code from this link.<br />
<br />
<a href="https://www.dropbox.com/s/n2zan2udhfc6pk0/Facebook%20-%20Android.zip" target="_blank">Android - Facebook Integration</a><br />
<br />
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.<br />
<br /></div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com38tag:blogger.com,1999:blog-5517933713200042322.post-45368083667073696262011-12-30T04:27:00.000-08:002013-01-16T05:34:21.892-08:00How to Hide Keyboard onStartup of Activity<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
<b>Write Following Line in your onCreate Method:-</b></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>For Hide Keyboard:</b></div>
<div style="text-align: left;">
getWindow().setSoftInputMode(WindowManager.LayoutParams.</div>
<div style="text-align: left;">
SOFT_INPUT_STATE_ALWAYS_HIDDEN);</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>For Appear Keyboard:</b></div>
<div style="text-align: left;">
getWindow().setSoftInputMode(WindowManager.LayoutParams.</div>
<div style="text-align: left;">
SOFT_INPUT_STATE_ALWAYS_VISIBLE);<br />
<br />
<br /></div>
<div style="text-align: left;">
<code><span class="pln">
</span></code><span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;">Enjoy :-) </span><br />
<code><span class="pln"><span class="Apple-style-span" style="font-family: 'Times New Roman';"><br /></span></span></code><span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;">Don’t forget to provide feedback or follow this blog, if you find this blog is useful.</span><br />
<pre class="default prettyprint"><span class="Apple-style-span" style="font-family: 'Times New Roman'; white-space: normal;">
</span></pre>
</div>
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com4tag:blogger.com,1999:blog-5517933713200042322.post-30060481777210914692011-12-12T22:53:00.000-08:002013-01-16T05:35:29.320-08:00How to Create Folder Programmatically into Sdcard in Emulator in Android?<div dir="ltr" style="text-align: left;" trbidi="on">
Write Following Line into your Oncreate Method:-<br />
<br />
<pre class="default prettyprint"><code><span class="typ">File</span><span class="pln"> wallpaperDirectory </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">File</span><span class="pun">(</span><span class="str">"/sdcard/Wallpaper"</span><span class="pun">);</span><span class="pln"></span><span class="com"></span><span class="pln">
wallpaperDirectory</span><span class="pun">.</span><span class="pln">mkdirs</span><span class="pun">();</span></code></pre>
<pre class="default prettyprint"><code><span class="pun"> </span></code></pre>
<pre class="default prettyprint"><code><span class="pun"> </span></code></pre>
<pre class="default prettyprint"><code><span class="pun">Add below Uses-Permission into your AndroidManifest.xml File:-</span></code></pre>
<pre class="default prettyprint"><code><span class="pun"> </span></code></pre>
<pre class="default prettyprint"><code><span class="pun"><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/></span></code></pre>
<pre class="default prettyprint"><code><span class="pun"> </span></code></pre>
<pre class="default prettyprint"><code><span class="pun">Now Run Your Project the Wallpaper Folder is Created in Your Sdcard.</span><span class="pln">
</span></code></pre>
<pre class="default prettyprint"><code><span class="pun">
</span></code></pre>
<pre class="default prettyprint"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px; white-space: normal;">Enjoy</span><code><span class="pun"> :-)</span></code></pre>
<pre class="default prettyprint"><code><span class="pun">
</span></code></pre>
<pre class="default prettyprint"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px; white-space: normal;">Don’t forget to provide feedback or follow this blog, if you find this blog is useful.</span></pre>
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com8tag:blogger.com,1999:blog-5517933713200042322.post-76103951789165872362011-12-11T23:50:00.000-08:002013-01-16T05:36:13.742-08:00How to Set Theme to Whole Application in Android?<div dir="ltr" style="text-align: left;" trbidi="on">
Write Following Line into Application tag of Your AndroidManifest.xml File:-<br />
<br />
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"<br />
<br />
Now Your Application is Running Without Title bar or Full Screen.<br />
<br />
Enjoy :-)<br />
<br />
<br />
<pre class="default prettyprint"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px; white-space: normal;">Don’t forget to provide feedback or follow this blog, if you find this blog is useful.</span></pre>
<pre class="default prettyprint"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 15px; line-height: 20px; white-space: normal;">
</span></pre>
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com2tag:blogger.com,1999:blog-5517933713200042322.post-90398887550908590032011-12-09T00:32:00.000-08:002013-01-16T05:39:00.890-08:00Frame Animation in Android<div dir="ltr" style="text-align: left;" trbidi="on">
<code>animation.xml</code> file:- <span class="pun">(Put This File in anim Folder)</span><br />
<br />
<span class="pun"><?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"utf-8"</span><span class="pun">?></span><span class="tag"> </span><br />
<span class="tag"><animation-list</span><span class="pln"> </span><span class="atn">xmlns:android</span><span class="pun">=</span><span class="atv">"http://schemas.android.com/apk/res/android"</span><span class="pln"> </span><br />
<span class="atn"> android:oneshot</span><span class="pun">=</span><span class="atv">"false"</span><span class="tag">></span><span class="pln"> </span><br />
<span class="pln"> </span><span class="tag"><item</span><span class="pln"> </span><span class="atn">android:drawable</span><span class="pun">=</span><span class="atv">"@drawable/rocket"</span><span class="pln"> </span><span class="atn">android:duration</span><span class="pun">=</span><span class="atv">"200"</span><span class="pln"> </span><span class="tag">/></span><span class="pln"> </span><br />
<span class="pln"> </span><span class="tag"><item</span><span class="pln"> </span><span class="atn">android:drawable</span><span class="pun">=</span><span class="atv">"@drawable/rocket"</span><span class="pln"> </span><span class="atn">android:duration</span><span class="pun">=</span><span class="atv">"200"</span><span class="pln"> </span><span class="tag">/></span><span class="pln"> </span><br />
<span class="pln"> </span><span class="tag"><item</span><span class="pln"> </span><span class="atn">android:drawable</span><span class="pun">=</span><span class="atv">"@drawable/rocket"</span><span class="pln"> </span><span class="atn">android:duration</span><span class="pun">=</span><span class="atv">"200"</span><span class="pln"> </span><span class="tag">/></span><span class="tag"> </span><br />
<span class="tag"></animation-list></span><span class="tag"> </span><br />
<br />
<br />
<span class="tag">Java Code:-</span><br />
<span class="tag"> </span><span class="typ"> </span><br />
<span class="typ">ImageView</span><span class="pln"> AndroidImage </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">ImageView</span><span class="pun">)</span><span class="pln"> findViewById</span><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">id</span><span class="pun">.</span><span class="pln">android_image</span><span class="pun">);</span><span class="pln"> </span><br />
<span class="pln">AndroidImage</span><span class="pun">.</span><code><a href="http://developer.android.com/reference/android/view/View.html#setBackgroundResource%28int%29"><span class="pln">setBackgroundResource</span></a></code><span class="pun">(</span><span class="pln">R</span><span class="pun">.</span><span class="pln">drawable</span><span class="pun">.</span><span class="pln">rocket_thrust</span><span class="pun">);</span><span class="pln"> </span><br />
<span class="pln">AndroidAnimation </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">AnimationDrawable</span><span class="pun">)</span><span class="pln"> rocketImage</span><span class="pun">.</span><code><a href="http://developer.android.com/reference/android/view/View.html#getBackground%28%29"><span class="pln">getBackground</span><span class="pun">()</span></a></code><span class="pun">;</span><span class="pln"> </span><br />
<span class="pln">AndroidAnimation</span><span class="pun">.</span><code><a href="http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html#start%28%29"><span class="pln">start</span><span class="pun">()</span></a></code><span class="pun">;</span><br />
<span class="pun"><br /></span>
<span class="pun" style="font-family: inherit;">Enjoy:-)</span><br />
<span class="pun"><br /></span>
<span class="pun" style="color: #333333; font-family: Georgia, 'Times New Roman', serif;"></span><br />
<pre class="default prettyprint" style="font-size: 15px; line-height: 20px;"><span class="pun" style="color: #333333; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="background-color: white; white-space: normal;">Don’t forget to provide feedback or follow this blog, if you find this blog is useful.</span></span></pre>
<br />
<dl><dd></dd></dl>
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com1tag:blogger.com,1999:blog-5517933713200042322.post-25168452821035469012011-12-09T00:18:00.000-08:002013-01-16T05:40:01.492-08:00How to Exit from the Application in Android?<div dir="ltr" style="text-align: left;" trbidi="on">
Write Below line on your onClick() Event of Button<br />
<br />
moveTaskToBack(true);<br />
<br />
and your Application is Closed but Your Activity is Running in Background.<br />
<br />
Enjoy :-)<br />
<br />
<br />
<pre class="default prettyprint" style="font-size: 15px; line-height: 20px;"><span class="pun" style="color: #333333; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="background-color: white; white-space: normal;">Don’t forget to provide feedback or follow this blog, if you find this blog is useful.</span></span></pre>
<pre class="default prettyprint" style="font-size: 15px; line-height: 20px;"><span class="pun" style="color: #333333; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="background-color: white; white-space: normal;">
</span></span></pre>
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com1tag:blogger.com,1999:blog-5517933713200042322.post-3822932181038693752011-12-06T02:35:00.000-08:002013-01-16T05:40:37.355-08:00SensorEventListener Example in Android<div dir="ltr" style="text-align: left;" trbidi="on">
Please Implement SensorEventListener in your Activity<br />
<br />
<br />
<br />
Declare below Variables or Make Objects of Below Class;<br />
<br />
private SensorManager sensorManager;<br />
private long lastUpdate;<br />
Boolean bool = false, bool1 = false;<br />
<br />
<br />
<br />
<br />
Write This three Line into Your onCreate Method:-<br />
<br />
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);<br />
sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),<br />
SensorManager.SENSOR_DELAY_NORMAL);<br />
lastUpdate = System.currentTimeMillis();<br />
<br />
<br />
<br />
<br />
Add Following Methods into our Activity:-<br />
<br />
@Override<br />
public void onSensorChanged(SensorEvent event) {<br />
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {<br />
float[] values = event.values;<br />
// Movement<br />
float x = values[0];<br />
float y = values[1];<br />
float z = values[2];<br />
<br />
float accelationSquareRoot = (x * x + y * y + z * z)<br />
/ (SensorManager.GRAVITY_EARTH * SensorManager.GRAVITY_EARTH);<br />
System.out.println("accelationSquareRoot is:- "<br />
+ accelationSquareRoot);<br />
long actualTime = System.currentTimeMillis();<br />
if (accelationSquareRoot >= 5) //<br />
{<br />
bool1 = false;<br />
if (bool == false) {<br />
if (actualTime - lastUpdate < 1000) {<br />
return;<br />
}<br />
lastUpdate = actualTime;<br />
//Here Define Method for OnStartShaking<br />
bool = true;<br />
} else {<br />
return;<br />
}<br />
} else {<br />
bool = false;<br />
System.out.println("Jay Not Stuffing");<br />
<br />
if (bool1 == false) {<br />
if (actualTime - lastUpdate < 4000) {<br />
return;<br />
}<br />
lastUpdate = actualTime;<br />
//Here Define Method for OnStopShaking<br />
bool1 = true;<br />
} else {<br />
return;<br />
}<br />
}<br />
}<br />
}<br />
<br />
<br />
<br />
@Override<br />
public void onAccuracyChanged(Sensor sensor, int accuracy) {<br />
// TODO Auto-generated method stub<br />
<br />
}<br />
<br />
Now Run Your Project.<br />
<br />
Enjoy :-)<br />
<br />
<br />
<pre class="default prettyprint" style="font-size: 15px; line-height: 20px;"><span class="pun" style="color: #333333; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="background-color: white; white-space: normal;">Don’t forget to provide feedback or follow this blog, if you find this blog is useful.</span></span></pre>
<pre class="default prettyprint" style="font-size: 15px; line-height: 20px;"><span class="pun" style="color: #333333; font-family: Georgia, 'Times New Roman', serif;"><span class="Apple-style-span" style="background-color: white; white-space: normal;">
</span></span></pre>
</div>
Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com3tag:blogger.com,1999:blog-5517933713200042322.post-51864626659516864002011-10-11T01:00:00.000-07:002011-10-11T01:02:10.757-07:00Image View Flipper in Android<div dir="ltr" style="text-align: left;" trbidi="on">ImageViewFlipper.java File:-<br />
<br />
<br />
package com.dipakkeshariya.imageviewflipper;<br />
<br />
import java.io.File;<br />
import java.io.FileInputStream;<br />
import java.io.FileOutputStream;<br />
import java.io.FilenameFilter;<br />
import java.io.IOException;<br />
import java.io.ObjectInputStream;<br />
import java.io.ObjectOutputStream;<br />
import java.io.OutputStreamWriter;<br />
import java.util.ArrayList;<br />
import java.util.Collection;<br />
import java.util.List;<br />
import java.util.Vector;<br />
import java.util.zip.GZIPInputStream;<br />
import java.util.zip.GZIPOutputStream;<br />
import android.app.Activity;<br />
import android.content.SharedPreferences;<br />
import android.content.res.Resources;<br />
import android.graphics.drawable.Drawable;<br />
import android.os.Bundle;<br />
import android.os.SystemClock;<br />
import android.util.Log;<br />
import android.view.GestureDetector;<br />
import android.view.Menu;<br />
import android.view.MenuItem;<br />
import android.view.MotionEvent;<br />
import android.view.View;<br />
import android.view.Window;<br />
import android.view.WindowManager;<br />
import android.view.GestureDetector.SimpleOnGestureListener;<br />
import android.view.animation.Animation;<br />
import android.view.animation.AnimationUtils;<br />
import android.widget.ImageView;<br />
import android.widget.Toast;<br />
import android.widget.ViewFlipper;<br />
<br />
public class ImageViewFlipper extends Activity {<br />
<br />
private static final int EXIT = 0;<br />
private static final int SWIPE_MIN_DISTANCE = 120;<br />
private static final int SWIPE_MAX_OFF_PATH = 250;<br />
private static final int SWIPE_THRESHOLD_VELOCITY = 200;<br />
private static final String DIRECTORY = "/sdcard/";<br />
private static final String DATA_DIRECTORY = "/sdcard/.ImageViewFlipper/";<br />
private static final String DATA_FILE = "/sdcard/.ImageViewFlipper/imagelist.dat";<br />
private GestureDetector gestureDetector;<br />
View.OnTouchListener gestureListener;<br />
private Animation slideLeftIn;<br />
private Animation slideLeftOut;<br />
private Animation slideRightIn;<br />
private Animation slideRightOut;<br />
private ViewFlipper viewFlipper;<br />
private int currentView = 0;<br />
List<String> ImageList;<br />
private int currentIndex = 0;<br />
private int maxIndex = 0;<br />
<br />
FileOutputStream output = null;<br />
OutputStreamWriter writer = null;<br />
<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
<br />
requestWindowFeature(Window.FEATURE_NO_TITLE);<br />
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,<br />
WindowManager.LayoutParams.FLAG_FULLSCREEN);<br />
<br />
setContentView(R.layout.main);<br />
ImageView iv = (ImageView) findViewById(R.id.zero);<br />
<br />
File data_directory = new File(DATA_DIRECTORY);<br />
if (!data_directory.exists()) {<br />
if (data_directory.mkdir()) {<br />
FileUtils savedata = new FileUtils();<br />
Toast toast = Toast.makeText(ImageViewFlipper.this,<br />
"Please wait while we search your SD Card for images...", Toast.LENGTH_SHORT);<br />
toast.show();<br />
SystemClock.sleep(100);<br />
ImageList = FindFiles();<br />
savedata.saveArray(DATA_FILE, ImageList);<br />
<br />
} else {<br />
ImageList = FindFiles();<br />
}<br />
<br />
}<br />
else {<br />
File data_file= new File(DATA_FILE);<br />
if (!data_file.exists()) {<br />
FileUtils savedata = new FileUtils();<br />
Toast toast = Toast.makeText(ImageViewFlipper.this,<br />
"Please wait while we search your SD Card for images...", Toast.LENGTH_SHORT);<br />
toast.show();<br />
SystemClock.sleep(100);<br />
ImageList = FindFiles();<br />
savedata.saveArray(DATA_FILE, ImageList);<br />
} else {<br />
FileUtils readdata = new FileUtils();<br />
ImageList = readdata.loadArray(DATA_FILE);<br />
}<br />
}<br />
<br />
if (ImageList == null) {<br />
quit();<br />
}<br />
<br />
SharedPreferences indexPrefs = getSharedPreferences("currentIndex",<br />
MODE_PRIVATE);<br />
if (indexPrefs.contains("currentIndex")) {<br />
currentIndex = indexPrefs.getInt("currentIndex", 0);<br />
}<br />
<br />
maxIndex = ImageList.size() - 1;<br />
<br />
Log.v("currentIndex", "Index: "+currentIndex);<br />
<br />
viewFlipper = (ViewFlipper) findViewById(R.id.flipper);<br />
<br />
slideLeftIn = AnimationUtils.loadAnimation(this, R.anim.slide_left_in);<br />
slideLeftOut = AnimationUtils<br />
.loadAnimation(this, R.anim.slide_left_out);<br />
slideRightIn = AnimationUtils<br />
.loadAnimation(this, R.anim.slide_right_in);<br />
slideRightOut = AnimationUtils.loadAnimation(this,<br />
R.anim.slide_right_out);<br />
<br />
viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this,<br />
android.R.anim.fade_in));<br />
viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,<br />
android.R.anim.fade_out));<br />
<br />
iv.setImageDrawable(Drawable.createFromPath(ImageList<br />
.get(currentIndex)));<br />
System.gc();<br />
<br />
gestureDetector = new GestureDetector(new MyGestureDetector());<br />
gestureListener = new View.OnTouchListener() {<br />
public boolean onTouch(View v, MotionEvent event) {<br />
if (gestureDetector.onTouchEvent(event)) {<br />
return true;<br />
}<br />
return false;<br />
}<br />
};<br />
<br />
}<br />
<br />
@Override<br />
public boolean onCreateOptionsMenu(Menu menu) {<br />
super.onCreateOptionsMenu(menu);<br />
<br />
int NONE = Menu.NONE;<br />
menu.add(NONE, EXIT, NONE, "Exit");<br />
return true;<br />
}<br />
<br />
public boolean onOptionsItemSelected(MenuItem item) {<br />
switch (item.getItemId()) {<br />
case EXIT:<br />
quit();<br />
break;<br />
}<br />
<br />
return super.onOptionsItemSelected(item);<br />
}<br />
<br />
protected void onPause() {<br />
super.onPause();<br />
<br />
SharedPreferences indexPrefs = getSharedPreferences("currentIndex",<br />
MODE_PRIVATE);<br />
<br />
SharedPreferences.Editor indexEditor = indexPrefs.edit();<br />
indexEditor.putInt("currentIndex", currentIndex);<br />
indexEditor.commit();<br />
}<br />
<br />
protected void onResume() {<br />
super.onResume();<br />
SharedPreferences indexPrefs = getSharedPreferences("currentIndex",<br />
MODE_PRIVATE);<br />
if (indexPrefs.contains("currentIndex")) {<br />
currentIndex = indexPrefs.getInt("currentIndex", 0);<br />
} <br />
}<br />
<br />
private List<String> FindFiles() {<br />
final List<String> tFileList = new ArrayList<String>();<br />
Resources resources = getResources();<br />
// array of valid image file extensions<br />
String[] imageTypes = resources.getStringArray(R.array.image);<br />
FilenameFilter[] filter = new FilenameFilter[imageTypes.length];<br />
<br />
int i = 0;<br />
for (final String type : imageTypes) {<br />
filter[i] = new FilenameFilter() {<br />
public boolean accept(File dir, String name) {<br />
return name.endsWith("." + type);<br />
}<br />
};<br />
i++;<br />
}<br />
<br />
FileUtils fileUtils = new FileUtils();<br />
File[] allMatchingFiles = fileUtils.listFilesAsArray(<br />
new File(DIRECTORY), filter, -1);<br />
for (File f : allMatchingFiles) {<br />
tFileList.add(f.getAbsolutePath());<br />
}<br />
return tFileList;<br />
}<br />
<br />
public class FileUtils {<br />
<br />
public void saveArray(String filename, List<String> output_field) {<br />
try {<br />
FileOutputStream fos = new FileOutputStream(filename);<br />
GZIPOutputStream gzos = new GZIPOutputStream(fos);<br />
ObjectOutputStream out = new ObjectOutputStream(gzos);<br />
out.writeObject(output_field);<br />
out.flush();<br />
out.close();<br />
}<br />
catch (IOException e) {<br />
e.getStackTrace(); <br />
}<br />
}<br />
<br />
@SuppressWarnings("unchecked")<br />
public List<String> loadArray(String filename) {<br />
try {<br />
FileInputStream fis = new FileInputStream(filename);<br />
GZIPInputStream gzis = new GZIPInputStream(fis);<br />
ObjectInputStream in = new ObjectInputStream(gzis);<br />
List<String> read_field = (List<String>)in.readObject();<br />
in.close();<br />
return read_field;<br />
}<br />
catch (Exception e) {<br />
e.getStackTrace();<br />
}<br />
return null;<br />
}<br />
<br />
public File[] listFilesAsArray(File directory, FilenameFilter[] filter,<br />
int recurse) {<br />
Collection<File> files = listFiles(directory, filter, recurse);<br />
<br />
File[] arr = new File[files.size()];<br />
return files.toArray(arr);<br />
}<br />
<br />
public Collection<File> listFiles(File directory,<br />
FilenameFilter[] filter, int recurse) {<br />
<br />
Vector<File> files = new Vector<File>();<br />
<br />
File[] entries = directory.listFiles();<br />
<br />
if (entries != null) {<br />
for (File entry : entries) {<br />
for (FilenameFilter filefilter : filter) {<br />
if (filter == null<br />
|| filefilter<br />
.accept(directory, entry.getName())) {<br />
files.add(entry);<br />
Log.v("ImageViewFlipper", "Added: "<br />
+ entry.getName());<br />
}<br />
}<br />
if ((recurse <= -1) || (recurse > 0 && entry.isDirectory())) {<br />
recurse--;<br />
files.addAll(listFiles(entry, filter, recurse));<br />
recurse++;<br />
}<br />
}<br />
}<br />
return files;<br />
}<br />
}<br />
<br />
class MyGestureDetector extends SimpleOnGestureListener {<br />
@Override<br />
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,<br />
float velocityY) {<br />
try {<br />
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)<br />
return false;<br />
// right to left swipe<br />
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE<br />
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {<br />
viewFlipper.setInAnimation(slideLeftIn);<br />
viewFlipper.setOutAnimation(slideLeftOut);<br />
<br />
if (currentIndex == maxIndex) {<br />
currentIndex = 0;<br />
} else {<br />
currentIndex = currentIndex + 1;<br />
}<br />
if (currentView == 0) {<br />
currentView = 1;<br />
ImageView iv = (ImageView) findViewById(R.id.one);<br />
iv.setImageDrawable(Drawable.createFromPath(ImageList<br />
.get(currentIndex)));<br />
System.gc();<br />
} else if (currentView == 1) {<br />
currentView = 2;<br />
ImageView iv = (ImageView) findViewById(R.id.two);<br />
iv.setImageDrawable(Drawable.createFromPath(ImageList<br />
.get(currentIndex)));<br />
System.gc();<br />
} else {<br />
currentView = 0;<br />
ImageView iv = (ImageView) findViewById(R.id.zero);<br />
iv.setImageDrawable(Drawable.createFromPath(ImageList<br />
.get(currentIndex)));<br />
System.gc();<br />
}<br />
Log.v("ImageViewFlipper", "Current View: " + currentView);<br />
viewFlipper.showNext();<br />
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE<br />
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {<br />
viewFlipper.setInAnimation(slideRightIn);<br />
viewFlipper.setOutAnimation(slideRightOut);<br />
if (currentIndex == 0) {<br />
currentIndex = maxIndex;<br />
} else {<br />
currentIndex = currentIndex - 1;<br />
}<br />
if (currentView == 0) {<br />
currentView = 2;<br />
ImageView iv = (ImageView) findViewById(R.id.two);<br />
iv.setImageDrawable(Drawable.createFromPath(ImageList<br />
.get(currentIndex)));<br />
} else if (currentView == 2) {<br />
currentView = 1;<br />
ImageView iv = (ImageView) findViewById(R.id.one);<br />
iv.setImageDrawable(Drawable.createFromPath(ImageList<br />
.get(currentIndex)));<br />
} else {<br />
currentView = 0;<br />
ImageView iv = (ImageView) findViewById(R.id.zero);<br />
iv.setImageDrawable(Drawable.createFromPath(ImageList<br />
.get(currentIndex)));<br />
}<br />
Log.v("ImageViewFlipper", "Current View: " + currentView);<br />
viewFlipper.showPrevious();<br />
}<br />
} catch (Exception e) {<br />
// nothing<br />
}<br />
return false;<br />
}<br />
}<br />
<br />
@Override<br />
public boolean onTouchEvent(MotionEvent event) {<br />
if (gestureDetector.onTouchEvent(event))<br />
return true;<br />
else<br />
return false;<br />
}<br />
<br />
public void quit() {<br />
SharedPreferences indexPrefs = getSharedPreferences("currentIndex",<br />
MODE_PRIVATE);<br />
<br />
SharedPreferences.Editor indexEditor = indexPrefs.edit();<br />
indexEditor.putInt("currentIndex", 0);<br />
indexEditor.commit();<br />
<br />
File settings = new File(DATA_FILE);<br />
settings.delete();<br />
finish();<br />
int pid = android.os.Process.myPid();<br />
android.os.Process.killProcess(pid);<br />
System.exit(0);<br />
}<br />
}<br />
<br />
<br />
<br />
Main.xml File:-<br />
<br />
<br />
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:id="@+id/flipper" android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"><br />
<LinearLayout android:layout_width="fill_parent"<br />
android:layout_height="fill_parent" android:gravity="center"><br />
<ImageView android:id="@+id/zero" android:layout_width="wrap_content"<br />
android:layout_height="wrap_content" android:scaleType="centerInside"<br />
android:src="@drawable/wait" /><br />
</LinearLayout><br />
<LinearLayout android:layout_width="fill_parent"<br />
android:layout_height="fill_parent" android:gravity="center"><br />
<ImageView android:id="@+id/one" android:layout_width="wrap_content"<br />
android:layout_height="wrap_content" android:scaleType="centerInside"<br />
android:src="@drawable/wait" /><br />
</LinearLayout><br />
<LinearLayout android:layout_width="fill_parent"<br />
android:layout_height="fill_parent" android:gravity="center"><br />
<ImageView android:id="@+id/two" android:layout_width="wrap_content"<br />
android:layout_height="wrap_content" android:scaleType="centerInside"<br />
android:src="@drawable/wait" /><br />
</LinearLayout><br />
</ViewFlipper><br />
<br />
<br />
<br />
mimetypes.xml File:-(String Array File)<br />
<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<resources><br />
<string-array name="image"><br />
<item>bmp</item><br />
<item>cmx</item><br />
<item>cod</item><br />
<item>gif</item><br />
<item>ico</item><br />
<item>ief</item><br />
<item>jpe</item><br />
<item>jpeg</item><br />
<item>jpg</item><br />
<item>jfif</item><br />
<item>pbm</item><br />
<item>pgm</item><br />
<item>png</item><br />
<item>pnm</item><br />
<item>ppm</item><br />
<item>ras</item><br />
<item>rgb</item><br />
<item>svg</item><br />
<item>tif</item><br />
<item>tiff</item><br />
<item>xbm</item><br />
<item>xpm</item><br />
<item>xwd</item><br />
</string-array><br />
</resources><br />
<br />
<br />
<br />
Put Following 4 Animation file in res\anim folder :-<br />
<br />
1) slide_left_in.xml<br />
2) slide_left_out.xml<br />
3) slide_right_in.xml<br />
4) slide_right_out.xml<br />
<br />
<br />
Now Run Your Project.</div>Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com9tag:blogger.com,1999:blog-5517933713200042322.post-52920439844654150042011-08-25T21:57:00.000-07:002011-08-25T21:57:32.098-07:00How to Add Smiley/Emojis in Edittext?<div dir="ltr" style="text-align: left;" trbidi="on">Emoji.java :-<br />
<br />
<br />
package com.android.emoji;<br />
<br />
import android.app.Activity;<br />
import android.content.Intent;<br />
import android.content.SharedPreferences;<br />
import android.graphics.drawable.Drawable;<br />
import android.os.Bundle;<br />
import android.text.Html;<br />
import android.text.Html.ImageGetter;<br />
import android.view.View;<br />
import android.view.View.OnClickListener;<br />
import android.widget.Button;<br />
import android.widget.EditText;<br />
import android.widget.TextView;<br />
<br />
public class Emoji extends Activity implements OnClickListener {<br />
EditText edttxtemoji;<br />
Button btnsubmit, btnselectemoji;<br />
TextView txtviewdisplay;<br />
<br />
/** Called when the activity is first created. */<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
edttxtemoji = (EditText) findViewById(R.id.edttxtemoji);<br />
btnsubmit = (Button) findViewById(R.id.btnok);<br />
btnsubmit.setOnClickListener(this);<br />
btnselectemoji = (Button) findViewById(R.id.btnselect);<br />
btnselectemoji.setOnClickListener(this);<br />
txtviewdisplay = (TextView) findViewById(R.id.txtviewdisplay);<br />
}<br />
<br />
@Override<br />
public void onClick(View v) {<br />
// TODO Auto-generated method stub<br />
if (v == btnsubmit) {<br />
txtviewdisplay.setText(edttxtemoji.getText());<br />
} else if (v == btnselectemoji) {<br />
Intent in = new Intent(this, Select_Emoji_Activity.class);<br />
startActivity(in);<br />
}<br />
}<br />
<br />
CharSequence cs;<br />
Custom_List_Emoji cstlistemoji;<br />
int index;<br />
<br />
@Override<br />
protected void onRestart() {<br />
// TODO Auto-generated method stub<br />
super.onRestart();<br />
<br />
cstlistemoji = new Custom_List_Emoji(this);<br />
@SuppressWarnings("static-access")<br />
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs",<br />
this.MODE_WORLD_READABLE);<br />
index = myPrefs.getInt("key1", 0);<br />
System.out.println("Pref Data index is:- " + index);<br />
ImageGetter imageGetter = new ImageGetter() {<br />
public Drawable getDrawable(String source) {<br />
Drawable d = getResources().getDrawable(<br />
cstlistemoji.images[index]);<br />
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());<br />
return d;<br />
}<br />
};<br />
cs = Html.fromHtml(<br />
"<img src='"<br />
+ getResources()<br />
.getDrawable(cstlistemoji.images[index])<br />
+ "'/>", imageGetter, null);<br />
System.out.println("cs is:- " + cs);<br />
edttxtemoji.setText(cs);<br />
}<br />
}<br />
<br />
<br />
Select_Emoji_Activity.java :-<br />
<br />
<br />
package com.android.emoji;<br />
<br />
import android.app.Activity;<br />
import android.content.SharedPreferences;<br />
import android.os.Bundle;<br />
import android.view.View;<br />
import android.widget.AdapterView;<br />
import android.widget.AdapterView.OnItemClickListener;<br />
import android.widget.ListView;<br />
<br />
public class Select_Emoji_Activity extends Activity implements OnItemClickListener{<br />
ListView lstviewemojis;<br />
Custom_List_Emoji cstlistemoji;<br />
@Override<br />
protected void onCreate(Bundle savedInstanceState) {<br />
// TODO Auto-generated method stub<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.emojis);<br />
lstviewemojis=(ListView)findViewById(R.id.lstviewemojis);<br />
lstviewemojis.setOnItemClickListener(this);<br />
cstlistemoji=new Custom_List_Emoji(this);<br />
lstviewemojis.setAdapter(cstlistemoji);<br />
}<br />
@Override<br />
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {<br />
// TODO Auto-generated method stub<br />
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);<br />
SharedPreferences.Editor prefsEditor = myPrefs.edit();<br />
System.out.println("Emoji is:- " +arg2);<br />
prefsEditor.putInt("key1", arg2);<br />
prefsEditor.commit();<br />
finish();<br />
}<br />
}<br />
<br />
Custom_List_Emoji :-<br />
<br />
<br />
package com.android.emoji;<br />
<br />
import android.app.Activity;<br />
import android.content.Context;<br />
import android.view.LayoutInflater;<br />
import android.view.View;<br />
import android.view.ViewGroup;<br />
import android.widget.BaseAdapter;<br />
import android.widget.ImageView;<br />
import android.widget.TextView;<br />
<br />
public class Custom_List_Emoji extends BaseAdapter {<br />
<br />
public Activity context;<br />
public LayoutInflater inflater;<br />
<br />
public Custom_List_Emoji(Activity context) {<br />
// TODO Auto-generated constructor stub<br />
this.context = context;<br />
this.inflater = (LayoutInflater) context<br />
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);<br />
}<br />
<br />
@Override<br />
public int getCount() {<br />
// TODO Auto-generated method stub<br />
return emojis.length;<br />
}<br />
<br />
@Override<br />
public Object getItem(int position) {<br />
// TODO Auto-generated method stub<br />
String temp = emojis[position];<br />
return temp;<br />
}<br />
<br />
@Override<br />
public long getItemId(int position) {<br />
// TODO Auto-generated method stub<br />
return 0;<br />
}<br />
<br />
TextView txtview1;<br />
ImageView image;<br />
<br />
@Override<br />
public View getView(int position, View convertView, ViewGroup parent) {<br />
// TODO Auto-generated method stub<br />
if (convertView == null) {<br />
convertView = inflater.inflate(R.layout.custom_emojis, null);<br />
txtview1 = (TextView) convertView.findViewById(R.id.txtviewemojis);<br />
image = (ImageView) convertView.findViewById(R.id.imgviewemoji);<br />
}<br />
<br />
image.setImageResource(images[position]);<br />
txtview1.setText(emojis[position]);<br />
return convertView;<br />
}<br />
<br />
public final int[] images = new int[] { R.drawable.emo_im_happy,<br />
R.drawable.emo_im_sad, R.drawable.emo_im_winking,<br />
R.drawable.emo_im_tongue_sticking_out, R.drawable.emo_im_surprised,<br />
R.drawable.emo_im_kissing, R.drawable.emo_im_yelling,<br />
R.drawable.emo_im_cool, R.drawable.emo_im_money_mouth,<br />
R.drawable.emo_im_foot_in_mouth, R.drawable.emo_im_embarrassed,<br />
R.drawable.emo_im_angel, R.drawable.emo_im_undecided,<br />
R.drawable.emo_im_crying, R.drawable.emo_im_lips_are_sealed,<br />
R.drawable.emo_im_laughing, R.drawable.emo_im_wtf };<br />
public final String[] _strEmoticonLabels = new String[] { "Happy", "Sad",<br />
"Winking", "Tongue sticking out", "Surprised", "Kissing",<br />
"Yelling", "Cool", "Money Mouth", "Foot in mouth", "Embarrased",<br />
"Angel", "Undecided", "Crying", "Lips are sealed", "Laughing",<br />
"Confused" };<br />
public final String[] emojis = new String[] { ":-)", ":-(", ";-)", ":-P",<br />
"=-O", ":-*", ":O", "B-)", ":-$", ":-!", ":-[", "O:-)", ":-\\",<br />
":'(", ":-X", ":-D", "o_O" };<br />
<br />
}<br />
<br />
<br />
<br />
<br />
Main.xml :-<br />
<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="fill_parent" android:layout_height="fill_parent"><br />
<TextView android:layout_width="wrap_content" android:text="Dipak"<br />
android:layout_height="wrap_content" android:id="@+id/txtviewdisplay" /><br />
<EditText android:layout_width="fill_parent" android:layout_below="@+id/txtviewdisplay"<br />
android:layout_height="wrap_content" android:id="@+id/edttxtemoji" /><br />
<Button android:layout_width="wrap_content" android:layout_below="@+id/edttxtemoji"<br />
android:layout_height="wrap_content" android:id="@+id/btnok"<br />
android:text="Submit" /><br />
<Button android:layout_width="wrap_content" android:layout_below="@+id/edttxtemoji"<br />
android:layout_height="wrap_content" android:id="@+id/btnselect"<br />
android:text="select Emojis" android:layout_toRightOf="@+id/btnok"/><br />
</RelativeLayout><br />
<br />
<br />
emojis.xml :-<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="fill_parent" android:layout_height="fill_parent"><br />
<ListView android:layout_width="fill_parent"<br />
android:layout_height="wrap_content" android:id="@+id/lstviewemojis" /><br />
</RelativeLayout><br />
<br />
<br />
custom_emojis.xml :-<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="fill_parent" android:layout_height="fill_parent"><br />
<RelativeLayout android:layout_width="fill_parent"<br />
android:layout_height="wrap_content" android:id="@+id/mRlayout1"><br />
<ImageView android:layout_width="wrap_content" android:id="@+id/imgviewemoji"<br />
android:layout_height="wrap_content" android:src="@drawable/icon"<br />
android:layout_centerVertical="true" android:layout_alignParentLeft="true"<br />
android:layout_marginLeft="10dip" /><br />
<TextView android:layout_width="wrap_content"<br />
android:layout_centerVertical="true" android:layout_marginRight="10dip"<br />
android:layout_height="wrap_content" android:text="Emoji"<br />
android:layout_alignParentRight="true" android:id="@+id/txtviewemojis" /><br />
</RelativeLayout><br />
</RelativeLayout><br />
<br />
<br />
</div>Dipak Keshariyahttp://www.blogger.com/profile/13606378981195326665noreply@blogger.com60