기술참고자료/Android | 2011. 5. 6. 13:51
package com.test.vo;import android.os.Parcel;
import android.os.Parcelable;/**
* @author sungsik81
*
*/
public class Student implements Parcelable {
public String name;
public int age;
public String birthday;
public Student() {
}public Student(Parcel in) {
readFromParcel(in);
}
public Student(String name, int age, String birthday) {
this.name = name;
this.age = age;
this.birthday = birthday;
}/* (non-Javadoc)
* @see android.os.Parcelable#describeContents()
*
* Parcel 하려는 오브젝트의 종류를 정의한다.
* 어떤 특별한 객체를 포함하고 있는지에 대한 설명을 리턴값으로 표현 하는 것이라고 보면된다.
* bit mask 형식의 integer를 리턴 하며,값을 체크 할 때 bit mask 체크를 해서 어떤 것들이 들어 있는지 알 수 있다.
*/
@Override
public int describeContents() {
return 0;
}
/* (non-Javadoc)
* @see android.os.Parcelable#writeToParcel(android.os.Parcel, int)
*
* Parcel에 데이터를 쓰는 부분.
*/
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(age);
dest.writeString(birthday);
}private void readFromParcel(Parcel in) {
name = in.readString();
age = in.readInt();
birthday = in.readString();
}
/**
* @author sungsik81
*
* Parcelable.Creator<T> 클래스는 createFromParcel() 과 newArray() 메소스가 필요하다.
* Parcel로 부터 값을 읽어 오기 위해서는 Parcelable.Creator Interface 가 필요하다.
*/
public static final Parcelable.Creator<Student> CREATOR = new Parcelable.Creator() {//writeToParcel() 메소드에서 썼던 순서대로 읽어 오는 것입니다.
@Override
public Object createFromParcel(Parcel source) {
return new Student(source);
}@Override
public Object[] newArray(int size) {
return new Student[size];
}
};/*
* 이하, Getter/Setter
*/
public String getName() {
return name;
}public void setName(String name) {
this.name = name;
}public int getAge() {
return age;
}public void setAge(int age) {
this.age = age;
}public String getBirthday() {
return birthday;
}public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
MainActivity.java
package com.test;
import com.test.vo.Student;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class MainActivity extends Activity {
Button submitButton;
EditText myTextView;
EditText myAge;
EditText myBirthday;
String myText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myTextView = (EditText) findViewById(R.id.myName);
myAge = (EditText) findViewById(R.id.myAge);
myBirthday = (EditText) findViewById(R.id.myBirthday);submitButton = (Button) findViewById(R.id.ok);
submitButton.setOnClickListener(new OnClickListener(){String inputMyName;
int inputMyAge;
String inputMyBirthday;
Student student = null;
@Override
public void onClick(View v) {
inputMyName = myTextView.getText().toString();
inputMyAge = Integer.valueOf(myAge.getText().toString());
inputMyBirthday = myBirthday.getText().toString();
student = new Student(inputMyName, inputMyAge, inputMyBirthday);
Intent intent = new Intent(MainActivity.this, SubActivity.class);
intent.putExtra("STUDENT", student);
startActivity(intent);
}
});
}
}
SubActivity.java
package com.test;
import com.test.vo.Student;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class SubActivity extends Activity {
Button backBtn;
Bundle bundle;
TextView resultMyNameTextView;
TextView resultMyAgeTextView;
TextView resultMyBirthdayTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sub);
bundle = this.getIntent().getExtras();
Student student = bundle.getParcelable("STUDENT");
resultMyNameTextView = (TextView) findViewById(R.id.resultMyName);
resultMyAgeTextView = (TextView) findViewById(R.id.resultMyAge);
resultMyBirthdayTextView = (TextView) findViewById(R.id.resultMyBirthday);
resultMyNameTextView.setText(student.getName());
resultMyAgeTextView.setText(String.valueOf(student.getAge()));
resultMyBirthdayTextView.setText(student.getBirthday());
backBtn = (Button) findViewById(R.id.back);
backBtn.setOnClickListener(new OnClickListener(){@Override
public void onClick(View v) {
onBackPressed();
}
});
}}
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"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="name : "
/>
<EditText
android:id="@+id/myName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="sungsik"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="age : "
/>
<EditText
android:id="@+id/myAge"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="30"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="birthday : "
/>
<EditText
android:id="@+id/myBirthday"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="0810"
/>
</LinearLayout>
<Button
android:id="@+id/ok"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Submit To SubActivity"
/>
</LinearLayout>
<?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"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="name : "
/>
<TextView
android:id="@+id/resultMyName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="age : "
/>
<TextView
android:id="@+id/resultMyAge"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="birthday : "
/>
<TextView
android:id="@+id/resultMyBirthday"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<Button
android:id="@+id/back"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Submit To SubActivity"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".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>
<activity android:name=".SubActivity" android:label="@string/app_name" />
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
[Android] Custom ProgressBar - 프로그래스바 모양 변경 (1) | 2011.05.06 |
---|---|
[Android] BroadcastReceiver 샘플테스트 (0) | 2011.05.06 |
[Android] Wifi 다루기 (0) | 2011.05.06 |
[Android] BroadcastReceiver에서 wifi / 3G 분기하기 (0) | 2011.05.06 |
진저브레드관련 - Android App 개발시 주의사항요청(CTS 승인이슈건) (0) | 2011.05.06 |
기술참고자료/Android | 2011. 5. 6. 13:35
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wi = wm.getConnectionInfo();
Log.d("WIFI", "BSSID : " + wi.getBSSID());
Log.d("WIFI", "Hidden SSID : " + wi.getHiddenSSID());
Log.d("WIFI", "IP : " + wi.getIpAddress());
Log.d("WIFI", "LinkSpeed : " + wi.getLinkSpeed());
Log.d("WIFI", "MAC Addr. : " + wi.getMacAddress());
Log.d("WIFI", "Net ID : " + wi.getNetworkId());
Log.d("WIFI", "RSSI : " + wi.getRssi());
Log.d("WIFI", "SSID : " + wi.getSSID());
Log.d("WIFI", "Supplicant State : " + wi.getSupplicantState());
Log.d("WIFI", "Detailed State : " + WifiInfo.getDetailedStateOf(wi.getSupplicantState()));
Log.d("WIFI", "String : " + wi.toString());
Log.d("WIFI", "Ping Result : " + wm.pingSupplicant());
// Wifi가 연결되었는지 상태 체크
DetailedState ni_ds = WifiInfo.getDetailedStateOf(wi.getSupplicantState());
if ((wi.getIpAddress()!= 0)
&& (ni_ds == DetailedState.CONNECTED || ni_ds == DetailedState.OBTAINING_IPADDR)){
// Wifi AP에 연결된 상태
}
[Android] BroadcastReceiver 샘플테스트 (0) | 2011.05.06 |
---|---|
[Android] Parcelable을 이용해 액티비티간 인텐트로 객체넘기기 (1) | 2011.05.06 |
[Android] BroadcastReceiver에서 wifi / 3G 분기하기 (0) | 2011.05.06 |
진저브레드관련 - Android App 개발시 주의사항요청(CTS 승인이슈건) (0) | 2011.05.06 |
[안드로이드] Disable scroll view action (0) | 2011.05.04 |
기술참고자료/Android | 2011. 5. 6. 13:33
public class ULNetworkReceiver extends BroadcastReceiver {
private Activity activity;
public ULNetworkReceiver() {
super();
}
public ULNetworkReceiver(Activity activity) {
this.activity = activity;
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// 네트웍에 변경이 일어났을때 발생하는 부분
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
try {
ConnectivityManager connectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo mobNetInfo =
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
WifiManager wifiManager =
(WifiManager) activity.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if(wifiInfo != null) {
/** WIFI 활성화 했고, AP 사용가능 */
if(wifiInfo.getIpAddress()>0 && wifiInfo.getSSID()!=null
&& wifiInfo.getSupplicantState().toString().equals("COMPLETED")) {
}
/** WIFI 활성화 했지만, AP 사용불가 */
else if(wifiInfo.getIpAddress()==0&&wifiInfo.getSSID()==null
&& (!wifiInfo.getSupplicantState().toString().equals("UNINITIALIZED")
|| wifiInfo.getSupplicantState().toString().equals("INACTIVE")
|| wifiInfo.getSupplicantState().toString().equals("SCANNING"))) {
Log.e("net info >>> ", "wifi use / AP not use ...");
}
/** WIFI 설정을 활성화 하지않은 경우/ 3G 사용가능할때 */
else if(activeNetInfo!=null && activeNetInfo.getTypeName().equals("mobile") &&
(wifiInfo.getSupplicantState().toString().equals("UNINITIALIZED")
|| wifiInfo.getSupplicantState().toString().equals("SCANNING")
|| wifiInfo.getSupplicantState().toString().equals("INACTIVE") )) {
Log.e("net info >>> ", "wifi not use / 3G success ...");
}
/** 3G, WIFI 둘 다 없을 경우 */
else {
Log.e("getSupplicantState >>> ", wifiInfo.getSupplicantState().toString()+"...");
}
}
} catch (Exception e){
}
}
}
}
[Android] Parcelable을 이용해 액티비티간 인텐트로 객체넘기기 (1) | 2011.05.06 |
---|---|
[Android] Wifi 다루기 (0) | 2011.05.06 |
진저브레드관련 - Android App 개발시 주의사항요청(CTS 승인이슈건) (0) | 2011.05.06 |
[안드로이드] Disable scroll view action (0) | 2011.05.04 |
SKT - 안드로이드 출시 단말별 해상도 (0) | 2011.04.28 |
기술참고자료/Android | 2011. 5. 6. 13:28
<application android:icon="@drawable/icon"그런데, 이것이 진저브레드와 관련이 있는 부분이기에 내용을 공유하기 위해 포스팅을 한다.
android:label="@string/app_name" android:debuggable="true">
[Android] Wifi 다루기 (0) | 2011.05.06 |
---|---|
[Android] BroadcastReceiver에서 wifi / 3G 분기하기 (0) | 2011.05.06 |
[안드로이드] Disable scroll view action (0) | 2011.05.04 |
SKT - 안드로이드 출시 단말별 해상도 (0) | 2011.04.28 |
View에 백그라운드 반복설정 (0) | 2011.04.20 |
기술참고자료/Android | 2011. 5. 4. 13:27
// Get the ScrollView
final ScrollView myScroll = (ScrollView) findViewById(R.id.display_scrollview);
// Disable Scrolling by setting up an OnTouchListener to do nothing
myScroll.setOnTouchListener( new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
// Enable Scrolling by removing the OnTouchListner
tvDisplayScroll.setOnTouchListener(null);
[Android] BroadcastReceiver에서 wifi / 3G 분기하기 (0) | 2011.05.06 |
---|---|
진저브레드관련 - Android App 개발시 주의사항요청(CTS 승인이슈건) (0) | 2011.05.06 |
SKT - 안드로이드 출시 단말별 해상도 (0) | 2011.04.28 |
View에 백그라운드 반복설정 (0) | 2011.04.20 |
<TextView>에서의 줄간격 설정하기 (0) | 2011.04.20 |