참고사이트

네이트

네이버

다음

KT(전화) OPEN API

야후

Google 코드 사이트

me2day

트위터

토씨 (링크제공 트위터 @cleanblue)

스프링노트

동영상관련

쇼핑몰

기타 오픈 API

 

참고자료

 
sitehis.com 관련 게시물



'기타' 카테고리의 다른 글

애드젯(adget)으로 광고수익을 얻어보자.  (0) 2011.03.30
실전 현장에서...  (0) 2010.06.13
프로그래밍은 상상이다  (0) 2010.06.13
ASP.NET 책을 보면서  (0) 2010.04.21
public class Io03 extends Activity {
    private Button b1, b2, b3;
    private EditText et1;
    //private static final String FNAME = "test.txt";
    private static final String FNAME 
       = "aa/bb/SoosJava201104_utf8.java";
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        
        et1 = (EditText)findViewById(R.id.EditText01);
        
        View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(v == b1){
readAssets();
}else if(v == b2){
readRaw();
}else{
reset();
}
}
} ;
        b1.setOnClickListener(listener);
        b2.setOnClickListener(listener);
        b3.setOnClickListener(listener);
    }
    private void readAssets(){
    InputStream is = null;
    AssetManager am = getAssets();
    try{
       is = am.open(FNAME, MODE_PRIVATE);
       String result = readModul(is);
       et1.setText(result);
    }catch(IOException ie){
    }finally{
    try{
    if(is != null) is.close();
    }catch(IOException ie){}
    }
    }
    private void readRaw() {
    InputStream is = null;
    Resources r = getResources();
    is = r.openRawResource(R.raw.soosadvans_utf8);
    String result = readModul(is);
    et1.setText(result);
    try{
    if(is != null) is.close();
    }catch(IOException ie){}
    }
    private String readModul(InputStream is){
    BufferedReader br = null;
    String line = "";
    StringBuffer sb = new StringBuffer();
    try{
       br = new BufferedReader(new InputStreamReader(is));
       while((line = br.readLine()) != null){
        sb.append(line + "\n");
       }
       return sb.toString();
    }catch(IOException ie){
    return "";
    }finally{
    try{
    if(br != null) br.close();
    }catch(IOException ie){}
    }
    }
    private void reset(){
    et1.setText("");
    }
}
public class Io02 extends Activity 
implements View.OnClickListener {
    private Button b1, b2, b3, b4;
    private EditText et1, et2, et3;
    //private static final String EX_PATH = "/sdcard";
    private static final String EX_PATH 
        = Environment.getExternalStorageDirectory().getAbsolutePath();
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        et1 = (EditText)findViewById(R.id.EditText01);
        b1 = (Button)findViewById(R.id.Button01);
        
        et2 = (EditText)findViewById(R.id.EditText02);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        
        et3 = (EditText)findViewById(R.id.EditText03);
        b4 = (Button)findViewById(R.id.Button04);
        
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);
        
        //showPath();//특정 하드웨어에 의존하지 않게 android의 기준 Directory 찾기
    }
    @Override
public void onClick(View v) {
if(v == b1){
toInFromEx(); //1. 외장 -> 내장 
}else if(v == b2){ 
//inFileListShow();
String fname = et2.getText().toString();
toExFromIn(fname); //2. 내장(현재앱) -> 외장 
}else if(v == b3){
toExFromInAll();
}else{ //v == b4
String fname = et3.getText().toString();
toExFromInAny(fname); //3. 내장(현재앱X) -> 외장 
}
}
    //3. 내장(현재앱X) -> 외장 ( 추후 고민해 볼 것! )
    private void toExFromInAny(String fname){ //테스팅 결과 확인X 
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try{
    fis = new FileInputStream(fname);
   
    String destDir = EX_PATH + "/io/apks";
    File dir = new File(destDir);
    if(!dir.exists()) dir.mkdirs();
   
    fos = new FileOutputStream(destDir+"/"+fname);
    fileMove(fis, fos);
    }catch(FileNotFoundException fnfe){
    }catch(IOException ie){
    try{
    if(fos != null) fos.close();
    if(fis != null) fis.close();
    }catch(IOException ie2){}
    }
    }
    
    //2. 내장(현재앱) -> 외장 
    private void inFileListShow(){
    StringBuffer sb = new StringBuffer();
    File inFilesDir = getFilesDir(); //중요!
    File childs[] = inFilesDir.listFiles();
    for(File child : childs){
    sb.append(child.getName() + "\n");
    }
    showMsg(sb.toString(), 1);
    }
    private void toExFromIn(String fname){
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try{
    fis = openFileInput(fname);
   
    String destDir = EX_PATH + "/aa/bb/cc";
    File dir = new File(destDir);
    if(!dir.exists()) dir.mkdirs();
   
    fos = new FileOutputStream(destDir+"/"+fname);
    fileMove(fis, fos);
    }catch(FileNotFoundException fnfe){
    }catch(IOException ie){
    try{
    if(fos != null) fos.close();
    if(fis != null) fis.close();
    }catch(IOException ie2){}
    }
    }
    private void toExFromInAll(){
    File inFilesDir = getFilesDir(); //중요!
    File childs[] = inFilesDir.listFiles();
    for(File child : childs){
    toExFromIn(child.getName());
    }
    showMsg("모든 파일 복사 완료", 1);
    }
    
    //1. 외장 -> 내장
    private void toInFromEx(){
    //et1의 입력정보(dir/file)를 내장메모리로 이동시키시요.
    String path = et1.getText().toString();
    File f = new File(EX_PATH + path);
   
    if(f.isFile()){
    fileCopy(f, getFname(path));
    }else{
    File fs[] = f.listFiles();
    for(File child : fs){
    if(child.isFile()){
    fileCopy(child, child.getName());
    }
    }
    }
    }
    private String getFname(String path){
    int idx = path.lastIndexOf("/");
    String fname = "";
    if(idx != -1){
    fname = path.substring(idx+1);
    }
    return fname;
    }
    private void fileCopy(File f, String fname){
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try{
    fis = new FileInputStream(f);
    fos = openFileOutput(fname, MODE_PRIVATE);
    fileMove(fis, fos);
    }catch(FileNotFoundException fnfe){
    showMsg("입력 경로가 잘못됨", 0);
    et1.setText("");
    et1.requestFocus();
    }catch(IOException ie){
    showMsg("IO예외", 0);
    }
    }
    private void fileMove(FileInputStream fis, 
    FileOutputStream fos) throws IOException  {
    int i = 0; 
    byte buffer[] = new byte[512];
    while((i = fis.read(buffer)) != -1){
    fos.write(buffer, 0, i);
    fos.flush();
    }
    showMsg("파일 복사 성공",  0);
    }
    /*
    File f1; //sdcard 
    File f2; //system 
    File f3; //data
    File f4; //cache 
    void showPath(){
    f1 = Environment.getExternalStorageDirectory();// sdcard
    String state = Environment.getExternalStorageState(); //mounted, shared
    String path1 = f1.getAbsolutePath();
    String path2 = "";
    try{
    path2 = f1.getCanonicalPath(); //OS 시스템에 맞는 구분자 적용한 경로
    }catch(IOException ie){}
    String path3 = f1.getPath();
   
    showMsg("path1 : " + path1 
    + ", path2 : " + path2 
    + ", path3 : " + path3 
    + ", state : " + state, 1);
   
    f2 = Environment.getRootDirectory(); //system 
    f3 = Environment.getDataDirectory(); //data
    f4 = Environment.getDownloadCacheDirectory(); //cache
    String f2Path = f2.getAbsolutePath();
    String f3Path = f3.getAbsolutePath();
    String f4Path = f4.getAbsolutePath();
   
    showMsg("f2Path : " + f2Path 
        + ", f3Path : " + f3Path
        + ", f4Path : " + f4Path, 1);
    }
    */
    void showMsg(String msg, int option){
    Toast.makeText(this, msg, option).show();
    }
}

'스마트폰 > 안드로이드' 카테고리의 다른 글

안드로이드, 아이폰 Network 정리  (0) 2011.05.13
InputOutputStream_3 공부.  (0) 2011.05.13
InputOutputStream_1 공부.  (0) 2011.05.13
다이얼로그박스 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
//1. 내장 메모리 핸들링
public class Io01 extends Activity 
implements View.OnClickListener {
    private Button b1, b2, b3, b4, b5;
    private EditText et;
    private static final String FNAME = "aa\\bb\\save.txt";
    private static final String DPATH = "aa/bb";
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        et = (EditText)findViewById(R.id.EditText01);
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        b4 = (Button)findViewById(R.id.Button04);
        b5 = (Button)findViewById(R.id.Button05);
        
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);
        b5.setOnClickListener(this);
    }
    @Override
    public void onStart(){
    super.onStart();
    read();
    }
    @Override
    public void onStop(){
    super.onStop();
    write(); reset();
    }
    @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button01: read(); break;
case R.id.Button02: write(); reset(); break;
case R.id.Button03: reset(); break;
case R.id.Button04: del(); reset(); break;
case R.id.Button05: makeDir(); break;
}
}
    private void read(){
    //저장된 파일을 읽어 오세요.
    FileInputStream fis = null;
    BufferedReader br = null;
    String line = "";
    StringBuilder sb = new StringBuilder();
    try{
    fis = openFileInput(FNAME);
    br = new BufferedReader(
    new InputStreamReader(fis), 512);
    while((line = br.readLine()) != null){
    sb.append(line + "\n");
    }
    et.setText(sb.toString());
    }catch(IOException ie){
    }finally{
    try{
    if(br != null) br.close();
    if(fis != null) fis.close();
    }catch(IOException ie){}
    }
    }
    private void write(){
    FileOutputStream fos = null;
    PrintWriter pw = null;
    String data = null;
    try {
    fos = this.openFileOutput(FNAME , MODE_PRIVATE);
    pw = new PrintWriter(fos, true);
    data = et.getText().toString();
    if(data != null) data = data.trim();
    if(data.length() != 0){
    pw.println(data);
    showMsg(FNAME + " 파일에 쓰기 성공");
    }
    }catch(FileNotFoundException fnfe){
    showMsg(FNAME + " 파일을 찾을 수 없음");
    }finally{
    try{
    if(pw != null) pw.close();
    if(fos != null) fos.close();
    }catch(IOException ie){}
    }
    }
    private void reset(){
    et.setText("");
    }
    private void del(){
    //파일(save.txt) 삭제 구현 
    deleteFile(FNAME);
    showMsg(FNAME + "이란 파일 삭제 완료");
    }
    private void makeDir(){
    File f = new File("/data/data/soo.io.test1/files/"+DPATH);
    if(!f.exists()){
    f.mkdirs();
    showMsg(DPATH+"이란 디렉토리 생성 완료");
    }
    }
    private void showMsg(String str){
    Toast.makeText(this, str, 0).show();
    }
}

'스마트폰 > 안드로이드' 카테고리의 다른 글

InputOutputStream_3 공부.  (0) 2011.05.13
InputOutputStream_2 공부.  (0) 2011.05.13
다이얼로그박스 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
Toast 토스트 공부.  (0) 2011.05.13
public class DialogT extends Activity {
    private Button b1, b2, b3, b4, b5, b6, b7;
    private LinearLayout ll;
    private EditText et, et2;
    private TextView tv;
    boolean flag = false;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        b4 = (Button)findViewById(R.id.Button04);
        b5 = (Button)findViewById(R.id.Button05);
        b6 = (Button)findViewById(R.id.Button06);
        b7 = (Button)findViewById(R.id.Button07);
        
        et = (EditText)findViewById(R.id.EditText01);
        et2 = (EditText)findViewById(R.id.EditText02); // 받는 메세지
        
        tv = (TextView)findViewById(R.id.TextView01);
        tv.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);
        
        tv.setOnClickListener(new View.OnClickListener() {
        int endleng = tv.getText().length();
        int startleng = 0;

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//tv.setBackgroundColor(Color.BLACK);
//tv.setHighlightColor(color.background_dark);
//tv.setLinkTextColor(color.background_dark);
if(flag==false){
tv.setHighlightColor(Color.YELLOW);
Spannable str = (Spannable)tv.getText();
   str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 
    0, endleng, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
   str.setSpan(new ForegroundColorSpan(0xFFFFFF00), 0, endleng,
                            Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
tv.setText(str);
flag = true;
}else{
Spannable str = (Spannable)tv.getText();
   str.setSpan(new BackgroundColorSpan(Color.BLACK), 
    0, endleng, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
   
tv.setText(str);
flag = false;
}

}
});
        
        ll = (LinearLayout)findViewById(R.id.LinearLayout01);      
        
        View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.Button01: d1(); break;
case R.id.Button02: d2(); break;
case R.id.Button03: d3();break;
case R.id.Button04: d4();break;
case R.id.Button05: d5();break;
case R.id.Button06: d6();break;
case R.id.Button07: d7();break;
}
}
};
        b1.setOnClickListener(listener);
        b2.setOnClickListener(listener);
        b3.setOnClickListener(listener);
        b4.setOnClickListener(listener);
        b5.setOnClickListener(listener);
        b6.setOnClickListener(listener);
        b7.setOnClickListener(listener);
        
    }
    private View v;
    private EditText cet1,cet2,cet3,cet4;
    private Button cb1,cb2,cb3,cb4;
    private void initCustom(){
    //v = View.inflate(DialogT.this, R.layout.custom, (ViewGroup)findViewById(R.id.LinearLayout02));
    v = View.inflate(this, R.layout.custom, null);
   
    cet1 = (EditText)v.findViewById(R.id.EditTextD01);
    cet2 = (EditText)v.findViewById(R.id.EditTextD02);
    cet3 = (EditText)v.findViewById(R.id.EditTextD03);
    cet4 = (EditText)v.findViewById(R.id.EditTextD04);
   
    cb1 = (Button)v.findViewById(R.id.ButtonD01);
    cb2 = (Button)v.findViewById(R.id.ButtonD02);   
    cb3 = (Button)v.findViewById(R.id.ButtonD03);   
    cb4 = (Button)v.findViewById(R.id.ButtonD04);   
   
    View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.ButtonD01:
et2.setText(cet1.getText().toString());
break;
case R.id.ButtonD02:
et2.setText(cet2.getText().toString());
break;
case R.id.ButtonD03:
et2.setText(cet3.getText().toString());
break;
case R.id.ButtonD04:
et2.setText(cet4.getText().toString());
break;
}
}
};
    cb1.setOnClickListener(listener);
    cb2.setOnClickListener(listener);
    cb3.setOnClickListener(listener);
    cb4.setOnClickListener(listener);
   
    }
    private void d1(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.elephant);
    builder.setTitle("주의");
    builder.setMessage("졸지 맙시다.");
    builder.show();
    }
    private void d2(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.elephant);
    builder.setTitle("캠페인");
    builder.setMessage("아침밥은 먹고 다닙시다.");
    builder.setNeutralButton("확인", null);
    builder.show();
    }
    private void d3(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.giraffe);
    builder.setTitle("질의");
    builder.setMessage("당신은 여성입니까?");
    DialogInterface.OnClickListener listener2 = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showMsg("which : " + which);
if(which == -1){
showMsg("당신은 여성입니다.");
}else{
showMsg("당신은 남성입니다.");
}
}
};
    builder.setPositiveButton("예", listener2);
    builder.setNegativeButton("아니요", listener2);
    builder.show();
   
    }
    private void d4(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.giraffe);
    builder.setTitle("배경색");
    builder.setMessage("배경색으로 좋아하는 색깔은?");
    DialogInterface.OnClickListener listener2 = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showMsg("which : " + which);
if(which == -1){
b4.setBackgroundColor(Color.RED);
ll.setBackgroundColor(Color.CYAN);
}else if(which == -3){
b4.setBackgroundColor(Color.YELLOW);
ll.setBackgroundColor(Color.DKGRAY);
}else{
b4.setBackgroundColor(Color.BLUE);
ll.setBackgroundColor(Color.GREEN);
}
}
};
    builder.setPositiveButton("빨강", listener2);
    builder.setNeutralButton("노랑", listener2);
    builder.setNegativeButton("파랑", listener2);
    builder.show();
   
    }
    static final String JOBS[] = {"변리사","변호사","검사","판사","개발자",
     "기획자","디자이너","의사","선생님","프로게이머"};
    private void d5(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.guitar);
    builder.setTitle("당신의 직업은?");
    builder.setSingleChoiceItems(JOBS, 0, 
    new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// 직업을 바꾸세요.
showMsg("which : " + which);
et.setText("내 직업은"+ JOBS[which] + "입니다.");
}
});
   
    builder.setNeutralButton("확인", null);
    builder.show();
    }
    static final String HOBBYS[] = {"영화","음악","낚시","게임","골프", "수영"};
    static final boolean flags[] = {false,false,false,false,false,false,};
String str="";
    private void d6(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.mammoth);
    builder.setTitle("당신의 취미는 무엇인가요?");
    builder.setMultiChoiceItems(HOBBYS, flags, 
    new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
//showMsg("XX 선택됨");
//showMsg("XX 해제됨");
if(isChecked){
//str += HOBBYS[which] + " ";
showMsg("'" + HOBBYS[which] +"'선택됨");
}else{
showMsg("'" + HOBBYS[which] +"' 해제됨");
}
}
});
   
    builder.setNeutralButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
for(int i=0; i<HOBBYS.length; i++){
if(flags[i] == true)
str += HOBBYS[i] + " ";
}
showMsg("당신의 취미는 "  + str + "입니다.");
}
});
    builder.show();
    }

    private void d7(){
    // 커스텀 다이얼로그를 띄우시오.
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.mammoth);
    builder.setTitle("커스텀 다이얼로그");
    builder.setNeutralButton("확인", null);
    builder.setNegativeButton("취소",null);
    initCustom();
    builder.setView(v);
    builder.show();
    }
    private void showMsg(String msg){
    Toast.makeText(this, msg, 0).show();
    }
    public DialogT() {
// TODO Auto-generated constructor stub
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_BACK){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(R.drawable.mammoth);
    builder.setTitle("종료");
    builder.setNeutralButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
finish();
}
});
    builder.setNegativeButton("취소",null);
    builder.setView(v);
    builder.show();
}
return false;
}
}

'스마트폰 > 안드로이드' 카테고리의 다른 글

InputOutputStream_2 공부.  (0) 2011.05.13
InputOutputStream_1 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
Toast 토스트 공부.  (0) 2011.05.13
Notification 공부.  (0) 2011.05.13
public class DynaLayoutT extends Activity {
    TextView tv;
    boolean flag = false; 
    Button b2;
    LinearLayout ll2;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /*
        if(flag){
        setContentView(R.layout.main);
        }else{
        setContentView(R.layout.sub);
        }*/
        LinearLayout ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.VERTICAL);
        LayoutParams params1 = new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT, 
        LinearLayout.LayoutParams.FILL_PARENT);
        ll.setLayoutParams(params1);
        //ll.setBackgroundColor(Color.YELLOW);
        
        TextView TextView01 = new TextView(this);
        LayoutParams params2 = new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT);
        TextView01.setLayoutParams(params2);
        TextView01.setGravity(Gravity.CENTER);
        TextView01.setTextSize(TypedValue.COMPLEX_UNIT_PX, 30.0f);
        TextView01.setText("동적 레이아웃(어휴~)");
        ll.addView(TextView01);
        
        ll2 = new LinearLayout(this);
        ll2.setOrientation(LinearLayout.HORIZONTAL);
        LayoutParams params3 = new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT);
        ll2.setLayoutParams(params3);
        //ll2.setBackgroundColor(Color.YELLOW);
        ll.addView(ll2);
        
        
        Button b1 = new Button(this);
        LayoutParams params4 = new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
        b1.setLayoutParams(params4);
        b1.setText("버튼1(어휴~)");
        ll2.addView(b1);
        
        b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ll2.getChildCount() == 2){
ll2.removeView(b2);
}else{
ll2.addView(b2, 1);
}
}
});
        b2 = new Button(this);
        b2.setLayoutParams(params4);
        b2.setText("버튼2(어휴~)");
        ll2.addView(b2);
        
        
        setContentView(ll);
    }
}

'스마트폰 > 안드로이드' 카테고리의 다른 글

InputOutputStream_1 공부.  (0) 2011.05.13
다이얼로그박스 공부.  (0) 2011.05.13
Toast 토스트 공부.  (0) 2011.05.13
Notification 공부.  (0) 2011.05.13
명시적 intent 공부.  (0) 2011.05.13
public class ToastT extends Activity {
    private Button b1, b2, b3;
    private ImageView iv;
    private LayoutInflater vi;
    private View view;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        
        
        vi = (LayoutInflater)getSystemService
        (Context.LAYOUT_INFLATER_SERVICE);
        view = vi.inflate(R.layout.custom,null);
        iv = (ImageView)findViewById(R.drawable.a);
        
        
        /*b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.Button01: t1(); break;
case R.id.Button02: t2(); break;
case R.id.Button03: t3(); break;
}
}
public void t1(){
Toast.makeText(ToastT.this, "짧은 토스트", Toast.LENGTH_SHORT).show();
}
public void t2(){
Toast.makeText(ToastT.this, "긴 토스트", Toast.LENGTH_LONG).show();
}
public void t3(){
Toast.makeText(ToastT.this, "사용자 정의 토스트", Toast.LENGTH_SHORT).show();
}
});*/
        
        b1.setOnClickListener(new View.OnClickListener() {
        @Override
public void onClick(View v) {
        Toast.makeText(ToastT.this, "짧은 토스트", Toast.LENGTH_SHORT).show();
}
        });        
        b2.setOnClickListener(new View.OnClickListener() {
        @Override
public void onClick(View v) {
        Toast.makeText(ToastT.this, "긴 토스트", Toast.LENGTH_LONG).show();
}
        });
        b3.setOnClickListener(new View.OnClickListener() {
        @Override
public void onClick(View v) {
        Toast toast = new Toast(ToastT.this);
                toast.setView(view);
                toast.setDuration(Toast.LENGTH_LONG);
                toast.setMargin(10.0f, 10.0f);
                toast.show();
}
        });
    }
}

'스마트폰 > 안드로이드' 카테고리의 다른 글

다이얼로그박스 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
Notification 공부.  (0) 2011.05.13
명시적 intent 공부.  (0) 2011.05.13
LifeCycle 공부.  (0) 2011.05.13
public class NotiT extends Activity {
    private Button b1, b2, b3, b4, b5, b6;
    private NotificationManager nm;
    private Notification n1, n2;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        n1 = new Notification(R.drawable.coffee, "퇴근할 시간입니다.", 
        System.currentTimeMillis());
        n2 = new Notification(R.drawable.dog, "일어날 시간이예요~", 
        System.currentTimeMillis());
        
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        b4 = (Button)findViewById(R.id.Button04);
        b5 = (Button)findViewById(R.id.Button05);
        b6 = (Button)findViewById(R.id.Button06);
        
        View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button01: n1(); break;
case R.id.Button02: n2(v); break;
case R.id.Button03: n3(); break;
case R.id.Button04: n4(); break;
case R.id.Button05: n5(); break;
case R.id.Button06: n6(); break;
}
}
};
        b1.setOnClickListener(listener);
        b2.setOnClickListener(listener);
        b3.setOnClickListener(listener);
        b4.setOnClickListener(listener);
        b5.setOnClickListener(listener);
        b6.setOnClickListener(listener);
    }
    private void n1(){
    //n1을 띄우세요..
    Intent intent = new Intent(this, NotiT.class);
    PendingIntent pi = PendingIntent.getActivity(
    this, 0, intent, 0);
    n1.setLatestEventInfo(
    this, "노티 제목", "노티 내용", pi);
    nm.notify(n1.number++, n1);
    }
private void n2(View v){
   //3초 후에 띄우세요. ( 24시간/1년 후에 띄우세요. )
Runnable action = new Runnable() {
@Override
public void run() {
n1();
}
};
v.postDelayed(action, 3000);
}
private void n3(){
//custom.xml로 정의한 사용자 정의 notification을 띄워오세요.
Intent intent = new Intent(this, NotiT.class);
    PendingIntent pi = PendingIntent.getActivity(
    this, 0, intent, 0);
n2.contentIntent = pi;
RemoteViews rv = new RemoteViews(getPackageName(), R.layout.custom);
n2.contentView = rv;
nm.notify(1, n2);
}
private void n4(){
//다른 구성요소(ex:다른 Activity 호출) 호출 
Intent intent = new Intent(this, SubActivity.class);
    PendingIntent pi = PendingIntent.getActivity(
    this, 0, intent, 0);
n2.contentIntent = pi;
RemoteViews rv = new RemoteViews(getPackageName(), R.layout.custom);
n2.contentView = rv;
nm.notify(1, n2);
}
private void n5(){
//public static PendingIntent getActivity (Context context, int requestCode, Intent intent, int flags)
//flags : FLAG_ONE_SHOT, FLAG_NO_CREATE, FLAG_CANCEL_CURRENT, FLAG_UPDATE_CURRENT
Intent intent = new Intent(this, NotiT.class);
    PendingIntent pi = PendingIntent.getActivity(
    this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
    n1.setLatestEventInfo(
    this, "테스팅", "PendingIntent옵션 테스팅 Flag", pi);
    nm.notify(n1.number++, n1);
    //위의 4가지 경우에 대한 각각의 차이점에 대해 알아 올것 
}
//다양한 알림 형식(진동,소리,백라이트 | 반복,1회,지움옵션)
private void n6(){ 
//(1) defaults 옵션 테스팅
//n1.defaults = Notification.DEFAULT_SOUND;
    //n1.defaults = Notification.DEFAULT_VIBRATE;
    //n1.defaults = Notification.DEFAULT_LIGHTS;
    //n1.defaults = Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND;
    n1.defaults = Notification.DEFAULT_ALL; 
   
    //(2) flags 옵션 테스팅  
    //n1을 열면 자동으로 titlebar의 아이콘이 없어짐
    //n1.flags = Notification.FLAG_AUTO_CANCEL;
   
    //titlebar의 아이콘이 계속 남음(titlebar의 아이콘이 맨 뒤로 이동)
    //n1.flags = Notification.FLAG_FOREGROUND_SERVICE;//지우기 버튼이 없음
   
    //titlebar의 아이콘이 계속 남음(titlebar의 아이콘이 맨 앞으로 이동)
    //n1.flags = Notification.FLAG_NO_CLEAR; //지우기 버튼이 없음
   
    //n1.flags = Notification.FLAG_ONGOING_EVENT;//열면 '진행중' 
    //n1.flags = Notification.FLAG_ONLY_ALERT_ONCE;//매번 소리와 진동 출력  
    n1.flags = Notification.FLAG_SHOW_LIGHTS; //LED불빛을 계속 깜빡거림
   
    //n1.flags = Notification.FLAG_INSISTENT;//반복
   
    Intent intent = new Intent(this, NotiT.class);
    PendingIntent pi = PendingIntent.getActivity(
    this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
    n1.setLatestEventInfo(
    this, "테스팅", "알림 형식 테스팅", pi);
    nm.notify(n1.number++, n1);
   
    //위의 defaults과 flags옵션에 대한 각각 경우를 검증하시요.
}
}

'스마트폰 > 안드로이드' 카테고리의 다른 글

다이나믹 레이아웃 공부.  (0) 2011.05.13
Toast 토스트 공부.  (0) 2011.05.13
명시적 intent 공부.  (0) 2011.05.13
LifeCycle 공부.  (0) 2011.05.13
묵시적 intent 공부.  (0) 2011.05.13

+ Recent posts