Browse Month: August 2013

Share With Intents in Android

MainActivity :

package com.example.shareintent;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.ImageButton;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button sharingButton = (Button)findViewById(R.id.imageButton1);
sharingButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
shareIt();
}

private void shareIt() {
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);

sharingIntent.setType(“text/plain”);
String shareBody = “Here is the share content body”;
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, “Subject Here”);
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, “Share via”));
}
});

}
}


Output:

 

 

Capture Active Screen in Android

AndroidManifest.xml :

<?xml version=”1.0″ encoding=”utf-8″?>

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”

package=”com.example.capturescreen”

android:versionCode=”1″

android:versionName=”1.0″ >

<uses-sdk

android:minSdkVersion=”8″

android:targetSdkVersion=”17″ />

<application

android:allowBackup=”true”

android:icon=”@drawable/ic_launcher”

android:label=”@string/app_name”

android:theme=”@style/AppTheme” >

<activity

android:name=”com.example.capturescreen.MainActivity”

android:label=”@string/app_name” >

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

</application>

</manifest>

 

MainActivity :

package com.example.capturescreen;

import android.app.Activity;

import android.app.Dialog;

import android.graphics.Bitmap;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.TextView;

public class MainActivity extends Activity {

Bitmap bmScreen;

Dialog screenDialog;

static final int ID_SCREENDIALOG = 1;

ImageView bmImage;

Button btnScreenDialog_OK;

TextView TextOut;

View screen;

EditText EditTextIn;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

screen = (View)findViewById(R.id.screen);

Button btnCaptureScreen = (Button)findViewById(R.id.capturescreen);

EditTextIn = (EditText)findViewById(R.id.textin);

btnCaptureScreen.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

screen.setDrawingCacheEnabled(true);

bmScreen = screen.getDrawingCache();

showDialog(ID_SCREENDIALOG);

}});

}

 

 

@Override

protected Dialog onCreateDialog(int id) {

// TODO Auto-generated method stub

screenDialog = null;

switch(id){

case(ID_SCREENDIALOG):

screenDialog = new Dialog(this);

screenDialog.setContentView(R.layout.dialog);

bmImage = (ImageView)screenDialog.findViewById(R.id.image);

TextOut = (TextView)screenDialog.findViewById(R.id.textout);

btnScreenDialog_OK = (Button)screenDialog.findViewById(R.id.okdialogbutton);

btnScreenDialog_OK.setOnClickListener(btnScreenDialog_OKOnClickListener);

}

return screenDialog;

}

 

@Override

protected void onPrepareDialog(int id, Dialog dialog) {

// TODO Auto-generated method stub

switch(id){

case(ID_SCREENDIALOG):

dialog.setTitle(“Captured Screen”);

TextOut.setText(EditTextIn.getText().toString());

bmImage.setImageBitmap(bmScreen);

break;

}

}

 

private Button.OnClickListener btnScreenDialog_OKOnClickListener

= new Button.OnClickListener(){

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

screenDialog.dismiss();

}};

}

 

activity_main.xml :

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:id=”@+id/screen”>

<Button

android:id=”@+id/capturescreen”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”Capture Screen”/>

<TextView

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”Enter some text here which you will see on captured screen”/>

<EditText

android:id=”@+id/textin”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”/>

</LinearLayout>

 

dialog.xml :

<?xml version=”1.0″ encoding=”UTF-8″?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

android:id=”@+id/layout_root”

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:paddingLeft=”10dip”

android:paddingRight=”10dip”>

<TextView

android:id=”@+id/textout”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”/>

<ImageView

android:id=”@+id/image”

android:layout_width=”400px”

android:layout_height=”400px”/>

<Button

android:id=”@+id/okdialogbutton”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”OK”/>

</LinearLayout>

 

Output Screen :

 

Custom charts using visualforce page

To generate custom charts by using visualforce page, just go through this simple demo:

//Visualforce code:

<apex:page controller=”PieChartController” title=”Pie Chart”>
<apex:chart height=”350″ width=”450″ data=”{!pieData}”>
<apex:pieSeries dataField=”data” labelField=”name”/>
<apex:legend position=”right”/>
</apex:chart>
</apex:page>

// Apex controller code

public class PieChartController {
public List<PieChartData> getPieData() {
List<PieChartData> data = new List<PieChartData>();
data.add(new PieChartData(‘SUN’, 30));
data.add(new PieChartData(‘MON’, 15));
data.add(new PieChartData(‘TUE’, 10));
data.add(new PieChartData(‘WED’, 20));
data.add(new PieChartData(‘THU’, 18));
data.add(new PieChartData(‘FRI’, 8));
data.add(new PieChartData(‘SAT’, 10));
return data;
}
// Wrapper class
public class PieChartData {
public String name { get; set; }
public Integer data { get; set; }
public PieChartData(String name, Integer data) {
this.name = name;
this.data = data;
}
}
}
//Output for this demo
Chart Demo output