검색결과 리스트
Android에 해당되는 글 26건
- 2012.10.20 [Android] 확장자명으로 Mime타입 추출하기!
- 2012.10.18 [Android] 디스플레이 해상도에 따른 크기
- 2012.10.08 [Android]안드로이드 갤러리(S메모) 공유 받기 4
- 2012.09.28 [Android]토스트(Toast)중복시 나중 문자만 보이게 하기
- 2012.09.22 [Android]SharedPreferences 사용예
- 2012.09.14 [Android] 앱 설치 유무 판단 하기
- 2012.09.04 [Android]Android KeyEvent 강제 발생
- 2012.09.03 [Android] 안드로이드 드바이스 정보 보기
- 2012.09.03 [Android]안드로이드 사용중인 언어 판단하기
- 2012.08.30 [Android]String 에서 특정문자열 기준으로 글 추출
글
안드로이드 MIME타입 떄문에 요즘 머리아픕니다. ㅠㅠ 공부해야쥐 ㅠㅠ
안드로이드 확장자로 mime 타입 추출하는 방법
MimeTypeMap mtm = MimeTypeMap.getSingleton(); // mime type 추출용
// 파일의 이름을 제외한 확장자명 추출
String fileExtension = str.substring(str.lastIndexOf(".") + 1, str.length()).toLowerCase();
//확장자를 통해 String 형태로 Mime타입 추출
String mimeType = mtm.getMimeTypeFromExtension(fileExtension);
이상입니다.
'Android' 카테고리의 다른 글
[Android] 디스플레이 해상도에 따른 크기 (0) | 2012.10.18 |
---|---|
[Android]안드로이드 갤러리(S메모) 공유 받기 (4) | 2012.10.08 |
[Android]토스트(Toast)중복시 나중 문자만 보이게 하기 (0) | 2012.09.28 |
[Android]SharedPreferences 사용예 (0) | 2012.09.22 |
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
설정
트랙백
댓글
글
Screen Density, DPI
Density |
DPI |
Layout 경로 |
Drawable 경로 |
Low |
120 |
/res/layout-ldpi |
/res/drawable-ldpi |
Medium |
160 |
/res/layout-mdpi |
/res/drawable-mdpi |
High |
240 |
/res/layout-hdpi |
/res/drawable-hdpi |
Extra high |
320 |
/res/layout-xhdpi |
/res/drawable-xldpi |
1. 실행아이콘 크기
해상도(Screen density) |
크기(픽셀) |
Low |
36 x 36 |
Medium |
48 x 48 |
High |
72 x 72 |
Extra high |
96 x 96 |
2. 액션바 아이콘 크기
|
|
Low |
18 x 18 |
Medium |
24 x 24 |
High |
36 x 36 |
Extra high |
48 x 48 |
3. 상태바 아이콘 크기
해상도(Screen density) |
크기(픽셀) |
Low |
18 x 18 |
Medium |
24 x 24 |
High |
36 x 36 |
Extra high |
48 x 48 |
4. 대화상자 아이콘 크기
해상도(Screen density) |
크기(픽셀) |
Low |
18 x 18 |
Medium |
24 x 24 |
High |
36 x 36 |
Extra high |
무 |
5. 리스트뷰 아이콘 크기
해상도(Screen density) |
크기(픽셀) |
Low |
18 x 18 |
Medium |
24 x 24 |
High |
36 x 36 |
Extra high |
무 |
6. 탭아이콘 크기
해상도(Screen density) |
크기(픽셀) |
Low |
24 x 24 |
Medium |
32 x 32 |
High |
48 x 48 |
Extra high |
무 |
그 외 고해상도 앱인 경우 구글마켓 등록 시 고해상도 아이콘을 추가 해야 함 : 512 x 512 픽셀
참고사이트 : http://www.creativefreedom.co.uk/icon-designers-blog/android-app-icon-sizes/
'Android' 카테고리의 다른 글
[Android] 확장자명으로 Mime타입 추출하기! (0) | 2012.10.20 |
---|---|
[Android]안드로이드 갤러리(S메모) 공유 받기 (4) | 2012.10.08 |
[Android]토스트(Toast)중복시 나중 문자만 보이게 하기 (0) | 2012.09.28 |
[Android]SharedPreferences 사용예 (0) | 2012.09.22 |
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
설정
트랙백
댓글
글
안드로이드 갤러리(S메모) 공유 받는방법입니다.
개발을 하다보니 S메모의 내용을 받으려고 헤메고 다녀서 정리 해둡니다.
우선 공유를 받게 되면 기본적으로 URI 형태로 받을수 있습니다.
자 그럼 손을 대야하는곳은
AndroidManifest.xml 와 실제 구동할 Activity 입니다.
우선 AndroidManifest.xml입니다
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hjm.shear.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter
android:label ="원하는이름">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
</application>
</manifest>
빨간 부분이 추가되어야 합니다.
다음은 Activity 부분입니다.
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
//저갔은 경우는 그냥 이미지뷰에 넣었습니다. 참고로 예외처리 안했습니다. ㅋㅋ
ImageView imageview = (ImageView)findViewById(R.id.imgv);
Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM); //이게 URI입니다.
//이것이 필요한거구요
if(!uri.equals("")){
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, proj, null, null, null);
int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String path = cursor.getString(index);
path = path.substring(5);
//path 이게 URI를 갖고 파일경로 알아냅니다.
imageview.setImageURI(uri);
}
}
}
'Android' 카테고리의 다른 글
[Android] 확장자명으로 Mime타입 추출하기! (0) | 2012.10.20 |
---|---|
[Android] 디스플레이 해상도에 따른 크기 (0) | 2012.10.18 |
[Android]토스트(Toast)중복시 나중 문자만 보이게 하기 (0) | 2012.09.28 |
[Android]SharedPreferences 사용예 (0) | 2012.09.22 |
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
설정
트랙백
댓글
글
Android에서 Toast를 사용할 때, 메시지가 중복해서 뜨면서 오랫동안 지속되는 경우가 있습니다.
기존 메시지는 삭제하고, 현재 메시지만 보이도록 하는 방법을 공유합니다.
-ml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1. Toast 객체 선언
public static Toast mToast;
2. onCreate() 에서 Toast.makeText()를 이용하여 Toast 객체 초기화
mToast = Toast.makeText(this, "null", Toast.LENGTH_SHORT);
3. 이 후, Toast를 보여주는 코드에 있는 Toast.makeText().show() 대신 다음으로 변경
mToast.setText(“show this text”);
mToast.show();
이렇게 수정하면,
l mToast가 보여지지 않던 상황에는, 설정한 string로 toast를 띄우게 되고,
l mToast가 보여지고 있던 상황에는, mToast에 보여지고 있던 text를 새로운 text로 변경하여 보여줍니다.
항상 가장 마지막에 setText(), show() 했던 text가 Toast에 보여지게 되며, Toast.LENGTH_SHORT 만큼의 시간이 흐른뒤에 Toast가 사라지게 됩니다.
'Android' 카테고리의 다른 글
[Android] 디스플레이 해상도에 따른 크기 (0) | 2012.10.18 |
---|---|
[Android]안드로이드 갤러리(S메모) 공유 받기 (4) | 2012.10.08 |
[Android]SharedPreferences 사용예 (0) | 2012.09.22 |
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
[Android]Android KeyEvent 강제 발생 (0) | 2012.09.04 |
설정
트랙백
댓글
글
private SharedPreferences _prefs = null;
// SharedPreferences => 환경설정파일 생성하고 관리하기 위한 클래스
SharedPreferences 객체 생성방법
context.getSharedPreferences("PREFS_PRIVATE", Context.MODE_PRIVATE);
// SharedPreferences 객체를 얻기위한 메소드
// "파일명", 파일에 접근할 수 있는 권한
// <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
// <map> </map>
private Editor _editor = null;
// Editor => 환경설정파일의 내용을 수정하기 위한 클래스
Editor 객체 생성방법
SharedPreferences.edit();// Editor 객체를 얻기 위한 메소드
SharedPreferences 가 보유하고 있는 값 추출하는 메서드
SharedPreferences.getString("emailaddress", "Unknown");
// getString() 의 첫번째 값은 ~~.xml에서 <string name="~~">
// getString() 의 두번째 값은
<string>값이 없을 경우 기본값 </string>
SharedPreferences에 값을 넣거나 수정하는 메서드
Editor.putString("emailaddress", newemail);
// putString() => <string></string>
// putString()의 첫번째 값 => <string name="~~~">
// putString()의 두번째 값 => <string>~~~~</string>
// <string name="emailaddress">newemail변수의 값</string>
새로운 값, 변경 내용을 SharedPreferences에 실제로 적용시키는 메서드
Editor..commit();
// this._editor에 보관되어 있는
// <string name="emailaddress">newemail변수의 값</string>
// <string name="serverurl">serverurl변수의 값</string>
// 를 SharedPreferences xml 파일에 적용시키는 메소드
실제 사용한 예
/*
* prefs.java Unlocking Android http://manning.com/ableson Author: W. F. Ableson
* fableson@msiservices.com
*/
package com.msi.manning.UnlockingAndroid;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class Prefs {
private SharedPreferences _prefs = null;
// SharedPreferences => 환경설정파일 생성
private Editor _editor = null;
// Editor => 환경설정파일의 내용을 수정
private String _useremailaddress = "Unknown";
private String _serverurl = "http://android12.msi-wireless.com/getjoblist.php";
public Prefs(Context context) {
this._prefs = context.getSharedPreferences("PREFS_PRIVATE", Context.MODE_PRIVATE);
// SharedPreferences 객체를 얻기위한 메소드
// "파일명", 파일에 접근할 수 있는 권한
// <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
// <map> </map>
this._editor = this._prefs.edit();
// Editor 객체를 얻기 위한 메소드
}
// getValue() => SharedPreferences파일의 내용을 얻기 위한 메소드
public String getValue(String key, String defaultvalue) {
if (this._prefs == null) {
return "Unknown";
}
return this._prefs.getString(key, defaultvalue);
}
// setValue() => SharedPreferences파일에 내용을 저장 위한 메소드
public void setValue(String key, String value) {
if (this._editor == null) {
return;
}
this._editor.putString(key, value);
}
// getEmail() => 계정을 추출하는 메서드
public String getEmail() {
if (this._prefs == null) {
return "Unknown";
}
this._useremailaddress = this._prefs.getString("emailaddress", "Unknown");
// getString() 의 첫번째 값은 ~~.xml에서 <string name="~~">
// getString() 의 두번째 값은 <string>값이 없을 경우 기본값 </string>
return this._useremailaddress;
}
// getServer() => 접속할 URL 주소를 추출하기 위한 메소드
public String getServer() {
if (this._prefs == null) {
return "http://android12.msi-wireless.com/";
}
this._serverurl = this._prefs.getString("serverurl", "http://android12.msi-wireless.com/");
return this._serverurl;
}
// setEmail(입력된 사용자계정) =>입력된 사용자계정을 저장하는 메서드
public void setEmail(String newemail) {
if (this._editor == null) {
return;
}
this._editor.putString("emailaddress", newemail);
// putString() => <string></string>
// putString()의 첫번째 값 => <string name="~~~">
// putString()의 두번째 값 => <string>~~~~</string>
// <string name="emailaddress">newemail변수의 값</string>
}
// setServer(입력된 URL주소) => 입력된 URL주소를 저장하는 메소드
public void setServer(String serverurl) {
if (this._editor == null) {
return;
}
this._editor.putString("serverurl", serverurl);
// putString() => <string></string>
// putString()의 첫번째 값 => <string name="~~~">
// putString()의 두번째 값 => <string>~~~~</string>
// <string name="serverurl">serverurl변수의 값</string>
}
// save() => 실제로 ~~.xml 파일에 저장하는 메소드
public void save() {
if (this._editor == null) {
return;
}
this._editor.commit();
// this._editor에 보관되어 있는
// <string name="emailaddress">newemail변수의 값</string>
// <string name="serverurl">serverurl변수의 값</string>
// 를 SharedPreferences xml 파일에 적용시키는 메소드
}
}
실습예제
프로젝트 새롭게 만들고, 메인화면에 아래와 같이 구성...
ToggleButton => 사운드 (기본값 : On)
EditText => 아이디 (기본값 : default)
EditText => 비밀번호 (기본값 : default)
CheckBox => 아이디저장 (기본값 : 체크해제)
CheckBox => 비밀번호저장 (기본값 : 체크해제)
Button => 확인
확인버튼을 누르면 SharedPreferences 파일에
현재 사운드의 On/Off 상태 값, 체크박스에 체크한 값들은 (아이디, 비밀번호) 저장할 수 있도록 코드 작성....
(단, 다시 어플리케이션을 실행하면 현재 SharedPreferences 파일에
저장된 값으로 실행되어야 함..)
'Android' 카테고리의 다른 글
[Android]안드로이드 갤러리(S메모) 공유 받기 (4) | 2012.10.08 |
---|---|
[Android]토스트(Toast)중복시 나중 문자만 보이게 하기 (0) | 2012.09.28 |
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
[Android]Android KeyEvent 강제 발생 (0) | 2012.09.04 |
[Android] 안드로이드 드바이스 정보 보기 (0) | 2012.09.03 |
설정
트랙백
댓글
글
안드로이드 개발 중 가끔 다른 앱과 연동해야하는경우 !!!
그 앱이 설치 되어있는지 확인해야할 경우가있습니다.
그럴경우 이렇게 사용하세요
//패키지 매니저
PackageManager pm = getPackageManager();
try {
//검색할 대상 패키지명
pm.getApplicationInfo("검색할 패키지명",PackageManager.GET_META_DATA);
}catch (Exception e)
{
//패키지가 없을경우 실행할 내용
}
혹은
PackageManager mPm = getPackageManager();
List<android.content.pm.ApplicationInfo> mInstalledPkgList = mPm.getInstalledApplication(PackageManager.GET_UNINSTALLED_PACKAGES);
for( android.content.pm.ApplicationInfo appFmc : mInstalledPkgList )
{
if(appFmc.packageName.equals("검색할 패키지명"))
{//설치시
Check = true;
}
}
if(!Check)
{
//미설치시
}
'Android' 카테고리의 다른 글
[Android]토스트(Toast)중복시 나중 문자만 보이게 하기 (0) | 2012.09.28 |
---|---|
[Android]SharedPreferences 사용예 (0) | 2012.09.22 |
[Android]Android KeyEvent 강제 발생 (0) | 2012.09.04 |
[Android] 안드로이드 드바이스 정보 보기 (0) | 2012.09.03 |
[Android]안드로이드 사용중인 언어 판단하기 (0) | 2012.09.03 |
설정
트랙백
댓글
글
키이벤트 다른것 찾다가 나중에 유용하게 쓰일것 같아서 가져왔습니다. ㅋ
=========================================================================================================
하드웨어 키를 누른 효과를 프로그래밍 내에서 인위적으로 발생시킨다.
import android.app.Activity;
import android.app.Instrumentation;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
new Instrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_VOLUME_UP);
}
}).start();
}
});
}
}
[출처] Android KeyEvent 강제 발생 ( Instrumentation keyCode )|작성자 아즈라엘
'Android' 카테고리의 다른 글
[Android]SharedPreferences 사용예 (0) | 2012.09.22 |
---|---|
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
[Android] 안드로이드 드바이스 정보 보기 (0) | 2012.09.03 |
[Android]안드로이드 사용중인 언어 판단하기 (0) | 2012.09.03 |
[Android]String 에서 특정문자열 기준으로 글 추출 (0) | 2012.08.30 |
설정
트랙백
댓글
글
안드로이드 드바이스 정보 보기
public class ModelNameTest extends Activity{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d("ModelNameTest", "BOARD: " + Build.BOARD);
Log.e("Device Info", "BRAND: " + Build.BRAND);
Log.e("Device Info", "CPU_ABI: " + Build.CPU_ABI);
Log.e("Device Info", "DEVICE: " + Build.DEVICE);
Log.e("Device Info", "DISPLAY: " + Build.DISPLAY);
Log.e("Device Info", "FINGERPRINT: " + Build.FINGERPRINT);
Log.e("Device Info", "HOST: " + Build.HOST);
Log.e("Device Info", "ID: " + Build.ID);
Log.e("Device Info", "MANUFACTURER: " + Build.MANUFACTURER);
Log.e("Device Info", "MODEL: " + Build.MODEL);
Log.e("Device Info", "PRODUCT: " + Build.PRODUCT);
Log.e("Device Info", "TAGS: " + Build.TAGS);
Log.e("Device Info", "TIME: " + Build.TIME);
Log.e("Device Info", "TYPE: " + Build.TYPE);
Log.e("Device Info", "USER: " + Build.USER);
}
}
'Android' 카테고리의 다른 글
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
---|---|
[Android]Android KeyEvent 강제 발생 (0) | 2012.09.04 |
[Android]안드로이드 사용중인 언어 판단하기 (0) | 2012.09.03 |
[Android]String 에서 특정문자열 기준으로 글 추출 (0) | 2012.08.30 |
[Android]strings.xml 사용시 팁 (0) | 2012.08.24 |
설정
트랙백
댓글
글
안드로이드 설정된 언어 판단하기 !!!
getResources().getConfiguration().locale.getDisplayLanguage();
이방법은 실제로 유저가 언어를 선택할때 보여지는 언어명입니다.
예를 들어 한국어, English,中文 이렇게 말입니다.
getResources().getConfiguration().locale.getDefault().getLanguage();
이방법은 실제로 유저가 보는 부분은 아닙니다.
예를 들어
한국어 = ko
English = en
과 같이 개발자가 쓰기에 적당합니다.
사용해본결과 레이아웃 판단은 getResources().getConfiguration().locale.getDefault().getLanguage();
이것을 사용하는것 같더라구요.
참고하세요~
'Android' 카테고리의 다른 글
[Android]Android KeyEvent 강제 발생 (0) | 2012.09.04 |
---|---|
[Android] 안드로이드 드바이스 정보 보기 (0) | 2012.09.03 |
[Android]String 에서 특정문자열 기준으로 글 추출 (0) | 2012.08.30 |
[Android]strings.xml 사용시 팁 (0) | 2012.08.24 |
[Android]다국어 지원시 TIP (0) | 2012.08.21 |
설정
트랙백
댓글
글
StringTokenizer
String a = 123456-654321;
StringTokenzier st = new StringTokenzier(a,"-");
String a1 = st.nextToken();
String a2 = st.nextToken();
a1 -> 123456
a2 -> 654321
단 중간에 null 이면 오류납니다.
split
a=123456-1234567
String[] arr = a.split("-");
등이 있네요
'Android' 카테고리의 다른 글
[Android] 안드로이드 드바이스 정보 보기 (0) | 2012.09.03 |
---|---|
[Android]안드로이드 사용중인 언어 판단하기 (0) | 2012.09.03 |
[Android]strings.xml 사용시 팁 (0) | 2012.08.24 |
[Android]다국어 지원시 TIP (0) | 2012.08.21 |
[Android] DPI 구하기! (0) | 2012.07.19 |
RECENT COMMENT