https://recipes4dev.tistory.com/125

'앱프로그래밍 > android' 카테고리의 다른 글

android UI 오픈소스  (0) 2019.06.04
안드로이드 앱 아이콘 변경하기  (0) 2019.04.16
sms,mail,web  (1) 2016.03.10
android thread  (0) 2016.03.07
android 채팅  (0) 2016.03.07
by 메렁키키 2019. 6. 10. 12:42

android UI 오픈소스

2019. 6. 4. 15:56

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력해주세요.

https://happy81.tistory.com/19

'앱프로그래밍 > android' 카테고리의 다른 글

android asset 폴더 만들기 사용하기  (0) 2019.06.10
android UI 오픈소스  (0) 2019.06.04
sms,mail,web  (1) 2016.03.10
android thread  (0) 2016.03.07
android 채팅  (0) 2016.03.07
by 메렁키키 2019. 4. 16. 17:37

package hb.com.adt0312;

import android.app.Activity;
import android.content.Intent;
import android.media.audiofx.BassBoost;
import android.net.Uri;
import android.provider.Settings;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }//end

    public void move(View v){
     int id=v.getId();
     if(id==R.id.btn1){//text
        Intent it1=new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:01091676063"));
        it1.putExtra("sms_body", "tamtam Android");

        startActivity(it1);
     }else if(id==R.id.btn2){//email
         Intent it2=new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:posasi2000@naver.com"));
         it2.putExtra(Intent.EXTRA_SUBJECT, "MailTest Young");

         it2.putExtra(Intent.EXTRA_TEXT, "Double Coffee Soju");
         startActivity(it2);
     }else if(id==R.id.btn3){//setting
         Intent it3=new Intent(Settings.ACTION_SETTINGS);
         startActivity(it3);
     }else if(id==R.id.btn4){//web브라우저
         Intent it4=new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com" ));
         startActivity(it4);
     }else{ }
    }//end
}//class END

'앱프로그래밍 > android' 카테고리의 다른 글

android UI 오픈소스  (0) 2019.06.04
안드로이드 앱 아이콘 변경하기  (0) 2019.04.16
android thread  (0) 2016.03.07
android 채팅  (0) 2016.03.07
android 3/3수업  (0) 2016.03.03
by 메렁키키 2016. 3. 10. 20:32
package com.hb.adt0303;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;


public class Last extends Activity implements Runnable {
int su1 = 0, su2 = 0, su3 = 0;
TextView tv1, tv2, tv3;
Button bt1, bt2, bt3;

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

tv1 = (TextView) findViewById(R.id.msg1);
tv2 = (TextView) findViewById(R.id.msg2);
tv3 = (TextView) findViewById(R.id.msg3);

bt1 = (Button) findViewById(R.id.btnOne);
bt2 = (Button) findViewById(R.id.btnTwo);
bt3 = (Button) findViewById(R.id.btnThr);

bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

// tv1.setText("su1="+su1);
//2초 간격으로 1씩 증가
// Thread.sleep(2000);
Thread th = new Thread(Last.this);
th.start();
}
});


bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
su2 = su2 + 5;
tv2.setText("su2=" + su2);
}
});

//3번째 버튼
bt3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
su3 = su3 + 10;
tv3.setText("su3=" + su3);
}
});
}

public void run() { //run 메소드안에
while(true) {
// su1 = su1 + 1;
// tv1.setText("su1=" + su1);
runOnUiThread(new Runnable() {
@Override
public void run() {
su1 = su1 + 1;
tv1.setText("su1=" + su1);
}
});
try {
Thread.sleep(2000);
} catch (Exception e) {}
}
};

}

'앱프로그래밍 > android' 카테고리의 다른 글

안드로이드 앱 아이콘 변경하기  (0) 2019.04.16
sms,mail,web  (1) 2016.03.10
android 채팅  (0) 2016.03.07
android 3/3수업  (0) 2016.03.03
fragment app 예제  (0) 2016.03.03
by 메렁키키 2016. 3. 7. 21:59
package com.hb.adt0303;

import android.support.v7.app.ActionBarActivity;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;

import android.os.Bundle;
import android.os.Handler;
import android.os.StrictMode;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnKeyListener;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MultiServer extends Activity implements Runnable{

private static final int CONNECT = 0;
private static final int CONNECTED = 1;
private static final int MESSAGE = 2;
private static final int DISCONNECTED = 3;
private static final int TEMP = 4;

private Socket sc = null;
private String host = "203.236.209.131";
private int port = 8000;
private String user = "ace"; //ibkhb

private TextView ta = null;
private EditText tf = null;
private Button btn1 = null;

private String str;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.server);

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog()
.build());

btn1 = (Button)findViewById(R.id.sendBtn);
ta = (TextView)findViewById(R.id.state);
tf = (EditText)findViewById(R.id.input);
tf.setImeOptions(EditorInfo.IME_ACTION_NONE);
tf.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
if (sc == null) return false;
String str = tf.getText().toString().trim();
if (str.equals("")) return false;
try {
OutputStream os = sc.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);
pw.println(user + "]" + str);
ta.append("\r\n[send]" + str);
tf.setText("");
tf.requestFocus();
} catch (Exception e2) {
ta.append("server failed...");
sc = null;
}
return true;
}
return false;
}
});

btn1.setOnClickListener(new View.OnClickListener(){//보내기
public void onClick(View v) {
if (sc == null) return ;
String str = tf.getText().toString().trim();
if (str.equals("")) return ;
try {
OutputStream os = sc.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);
pw.println(user + "]" + str);
ta.append("\r\n[send]" + str);
tf.setText("");
tf.requestFocus();
} catch (Exception e2) {
ta.append("server failed...");
sc = null;
}
}
});

handler.sendEmptyMessageDelayed(CONNECT, 10);
} //end



public void onDestroy() {
super.onDestroy();
System.exit(0);
} //end


public void connect() {
try {
sc = new Socket(host, port);
ta.setText("server connect ...");
handler.sendEmptyMessageDelayed(CONNECTED, 10);
Thread th = new Thread(this);
th.start();
} catch (Exception e) {
System.out.println(e.toString());
sc = null;
}
} //end

public void run() {
try {
if (sc == null) return;
InputStream is = sc.getInputStream();
while((str = readLine(is)) != null) {
handler.sendEmptyMessageDelayed(MESSAGE, 10);
}
} catch (Exception e) {
handler.sendEmptyMessageDelayed(DISCONNECTED, 10);
sc = null;
}
} //end

public static String readLine(InputStream in) throws IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
while (true) {
int b = in.read();
if (b < 0) {
throw new IOException("Data truncated");
}
if (b == 0x0A) {
break;
}
buffer.write(b);
} //while end
return new String(buffer.toByteArray(), "UTF-8");
} //end

Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case CONNECT:
connect();
break;

case CONNECTED:
runOnUiThread(new Runnable() {
public void run() {
ta.setText("server connect ...");
}
});
break;
case MESSAGE:
runOnUiThread(new Runnable() {
@Override
public void run() {
ta.append("\r\n" + str);
}
});
break;

case DISCONNECTED:
runOnUiThread(new Runnable() {
public void run() {
ta.append("\r\nserver failed...");
}
});
break;

case 4:
runOnUiThread(new Runnable() {
public void run() {
}
});

default:
break;
} //switch end
}; //handleMessage( ) end
};

} //class END

'앱프로그래밍 > android' 카테고리의 다른 글

sms,mail,web  (1) 2016.03.10
android thread  (0) 2016.03.07
android 3/3수업  (0) 2016.03.03
fragment app 예제  (0) 2016.03.03
xml 파일읽기  (0) 2016.03.02
by 메렁키키 2016. 3. 7. 20:33

강사컴퓨터 id \\203.236.209.131

톰캣서버 구동
http://203.236.209.131:8080/
http://203.236.209.131:8080/index.html
http://203.236.209.131:8080/data/emp.xml
  String path="http://203.236.209.131:8080/data/emp.xml";
  URL url = new URL(path);
xpp2.setInput( url.openStream( ) , "UTF-8"); NETWORK연결
xpp.setInput( new StringReader("<foo>HW</foo>"); 자체

C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\data
C:/Program Files/Apache Software Foundation/
                         Tomcat 8.0/webapps/data폴더에서 emp.xml문서

http://docs.oracle.com/javase/7/docs/api/

자바기초의  java.Net팩키지
URL, HttpURLConnection

자바기초의  java.io팩키지
InputStream is = url.openStream( )
InputStreamReader클래스(InputStream클래스)
BufferedReader클래스(Reader클래스)

371페이지 단위설명
363페이지 칼라지정
241페이지 Button
242페이지 ImagView
      TextView, GridView, ListView, VideoView
     Spinner,   


io처리및 network처리 => 톰캣서버 응용
쓰레드

File메뉴=>Close Project한후 새로운문서작성
플젝: ADT0303
         |--io처리및 network처리=> URL, HttpURLConnection
                                            쓰레드개념

<LL1 수직>
  <LL2 수평> 버튼1,버튼2,버튼3 =>onClick=move </LL2>
   ET MM
</LL1>


class Game 상속 Activity implements Runnable, View.OnClickListener {
  public void onCreate(Bundle){ start(); }
  public void run(){무한루프처리  위젯관련속성변경 runtime에러발생 }
  public void onClick(View v) {
    //1번째버튼 클릭할때마다 20씩증가 tv1.setText(40)
    //2번째버튼 클릭할때마다 5씩증가  tv2.setText(15)
    //3번째버튼 1초간격으로  1씩증가 tv3.setText(6)
  }
}//class END

 

 


File메뉴=>Close Project한후 새로운문서작성
플젝: ADT0302
         |--ListView=>전화번호, 카톡에 리스트목록
         |--Spinner=>콤보박스형태
 android:theme="@style/AppTheme">

 android:theme="@android:style/Theme.Holo.Light.DarkActionBar" >
 


"boy", "coffee", "dog", "donald", "rabbit", "test"

class  First   상속 Activity{  }
class  AAA   상속 Fragment{ aaa.xml }
class  BBB   상속 Fragment{ bbb.xml }
class  CCC   상속 Fragment{ ccc.xml }

class  MyAdapter   상속 BaseAdapter{  }
class  MyView   상속 View{  }

www.apache.org=>Tomcat=> 다운로드 8버젼
tomcat.apache.org

http://127.0.0.1:8080/
http://localhost:8080/

ADT0229플젝
  class  First  상속 Activity{ }
 <LL1  방향=수직>
    <LL2 방향=수평>
       안내=tv, 입력=et, 버튼=등록, 버튼=삭제
    </LL2>
    <ListView  ~~~/>
 </LL1>
 

_________________________________________________________________
ADT0229플젝
  class  First  상속 Activity{ }

첫번째 sd카드에 그림파일 읽어서 출력
  storage/external_SD/test폴더에 그림파일추가
  class  myPictureView 상속 View {
   onDraw(cs){ cs.drawBitmap(1,2,3,4) }
  }
 
  activity_main.xml문서에서 맨마지막
  <com.hb.adt0229.myPictureView ~~~>
  
  MainActivity.java문서에서  myPictureView연결
  MainActivity.java문서에서  SD카드경로접근해서 파일
 


카메라, 캡쳐, 주사위게임숫자를 음성센서
========아래코드는 기술하지 마세요============
  class  MyPicture 상속 View { sd카드에 있는 그림로드} =>layout레이아웃문서등록
  class  MainActivity 상속 Activity{ }

각종센서 android.hardware팩키지 참고
버튼배열, 버튼이
여러일때 xml문서에 android:onClick="move"

CheckBox박스는 interface상속받아서 메소드재정의
여러분폰 경로및 SDcard확인....
 
쓰레드관련-Thread, Runnable인터페이스
class First 상속 Activity , Thread{ } 에러입니다

 

______________________________________________________________
ADT0225플젝
Two.java문서
class Two 상속 Activity {
   버튼처리를 배열로 응용, tvNumber숫자표시
}
 체크박스 CheckBox, 인터페이스

AndroidManifest.xml문서 각종 permision권한
제조사폰 각종 센서 활용


_______________________________________________________________
ADT0224플젝
Last.java문서
class Last 상속 Activity {
   class MyView 상속 View{
      public void onDraw( Canvas canvas) { 그림, shape }
      //터치이벤트 마우스down, 마우스up이벤트 동작  { onDraw메소드호출 } 
   }
} //clas END

레이아웃=배치실습
 LinearLayout제외한 GridLayout, TableLayout, RelativeLayout
 Interface활용 CheckBox체크박스 확인

______________________________________________________________________________________
첫번째 안드로이드에서 보여주는  틀=Activity=>생성될때 onCreate(Bundle){ }
          액티비티 이동, 사용할때 AndroidManifest.xml등록
          classs First 상속 Activity { MyPicture클래스, MyPicture클래스  }
두번째  class MyPicture 상속  View{ onDraw(1){ } }
           class MyAdapter  상속  BaseAdapter{ View getView(1,2,3){ } }

안드로이드 4대구성
1.Activity
2.BR
3.CP=Content Provider=>여러분 전화번호 데이타번호 =>ListView출력
4.Service

세번째 class First 상속 Activity{  Intent클래스도움 }
          class Two  상속 Activity{ }


Object최상위클래스
 |-Context추상클래스
    |-ContextWrapper클래스
       |-ContextThemeWrapper클래스
          |-Activity클래스
             |--Three 상속 Activity클래스
class Three 상속 Activity{ public void onCreate(1){ }  }
class MyAdapter 상속 BaseAdapter{배열 ,생성자, 4개추상메소드기술 }

 눈에 보이는 비주얼한 위젯=widget(Button, ImageView,BaseAdapter)
 반드시 Activity~Context클래스랑 연결
 즉 Activity아닌 다른클래스 상속받으면 생성자를 통해서 연결

================참고하면 좋아요==================
Log.v(... , ...);
Log.d("가짜" , 메세지);
Log.i(... , ...);
Log.w(... , ...);
Log.e(... , ...);
 
v,d,i,w,e 로 로그가 구별이 되는데 이것을 무엇을 의미하는 것일까?
v ==> Verbose (다양한 정보를 출력하기 위한 Level)
d ==>Debug (문제 발생시 문제 발생된 원인을 디버깅 하기 위한 상태 로그 Level)
i ==> Info (각종 클래스,변수의 정보나, 프로그램의 상태 정보를 출력하기 위한 로그 Level)
w ==> Warning (프로그램의 상태에 문제가 발생할 소지가 있는 부분을 알리기 위한 경고 로그 Level)
e ==> Error (프로그램의 치명적인 문제 발생을 알리는 로그 Level)


ADT0224플젝
  First.java = activity_first.xml
  Two.java = activity_two.xml
 
  res
   |--drawable=>그림 4개 먼저 복사한후 붙여넣기
_____________________________________________________________________________
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFFF00"
        android:gravity="center"
        android:textSize="20pt"
        android:textColor="#FF0000"
        android:text="안내문변경 Test" />

</LinearLayout>
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

안드로이드 프로젝트이름 ADT0223
 app최상위 가상디렉토리생성
  |--manifests
      |--AndroidManifest.xml=>앱어플정보, Activity등록
  |--java
      |--com.hb.adt0223팩키지
           |--First.java=>activity_first.xml연결
  |--res==> R.java기록=>각각 category별 static화 상수 클래스등록
      |--drawable
      |--layout
           |--activity_first.xml
      |--menu
      |--values

안드로이드 4대구성요소
1)Activity=>반드시 틀이 있어야 사용자가 눈으로확인
  class First 상속  Activity{
     public void onCreate(Bundle bun) {
         super.onCreate(bun);
         this.setContentView(R.layout.activity_first);

         Two.java문서이동 Intent it = new Intent(First.this, Two.class);
         it.startActivity( );

         //현재,부모클래스주소를 참조하는 키워드 this
          MyPicture mp = new MyPicture(this);
     }//end

      class  MyPicture 상속 View { 생성자,드로잉메소드  }//내부클래스생성
   }//First class END


  class Two 상속  Activity{
     public void onCreate(Bundle bun) {  }
  }//Two class END

2)BR=BroadcastReceiver=>알람, 메세지,밧테리
3)CP=ContentProvider=>여러분폰 주소록으로 실습
4)Service=뒷단에서 안보이면서 돌아가는 서비스


Object최상위클래스
 |-Context추상클래스
    |-ContextWrapper클래스
       |-ContextThemeWrapper클래스
          |-Activity클래스
             |--First 상속 Activity클래스
     class First 상속 Activity{ public void onCreate(1){ }  }
     class MyPicture 상속 View{ 생성자, Draw(1){ } }

여러분 소유 안드로이폰
제조사USB드라이브

________________________________________________________________________________________

안드로이드 디렉토리 구조
 app최상위 가상디렉토리생성
  |--manifests
      |--AndroidManifest.xml=>앱어플정보, Activity등록
  |--java
      |--com.hb.adt0216팩키지
           |--First.java=>activity_first.xml연결
           |--Two.java=>activity_two.xml연결
  |--res==> R.java기록=>각각 category별 static화 상수 클래스등록
      |--drawable
      |--layout
           |--activity_first.xml
           |--activity_two.xml
      |--menu
      |--values

안드로이드 4대구성요소
1)Activity=>반드시 틀이 있어야 사용자가 눈으로확인
  class First 상속  Activity{
     public void onCreate(Bundle bun) {
         super.onCreate(bun);
         this.setContentView(R.layout.activity_first);
         btn1=(Button)this.findViewById(R.id.btnImage);
         //현재,부모클래스주소를 참조하는 키워드 this
          MyPicture mp = new MyPicture(this);
          MyAdapter dap = new MyAdapter(this);
     }//end

      class  MyPicture 상속 View { 생성자,드로잉메소드  }//내부클래스생성
      class  MyAdapter 상속 BaseAdapter{ 생성자,대량데이타표시메소드 }
   }//First class END

 


   물리적으로 새로운 클래스 생성하든 전혀 상관없어요
   class  MyPicture 상속 View { //그림,shape드로잉
     public void onDraw(Canvas  cv){  드로잉,shape작업 }
   }//class END

   class  MyAdapter 상속 BaseAdapter{ //GridVew, ListView, Gallery, Spinner
           4개추상메소드정의
   }//class END

 

 

2)BR=BroadcastReceiver=>알람, 메세지,밧테리
3)CP=ContentProvider=>여러분폰 주소록으로 실습
4)Service=뒷단에서 안보이면서 돌아가는 서비스

 

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
import java.io.File;

public class Seven 상속 Activity {
  public void onCreate(Bundle bun){
       String path="C:/CookAndroid/mypage폴더";
       new File(path).mkdir( ); //anonymous익명의 개체
      btn1.setOnClickListener(new View.OnClick리스너( ){
        public void onClick(View v){ this는 익명의개체를 가르킴}
      });
  }//end

   public class Game {  
     반드시 생성자를 기술해서 Seven에 있는 Activity연결되어야함
   } //내부클래스end
}//Seven외부class END


Object최상위클래스
 |-Context추상클래스
    |-ContextWrapper클래스
       |-ContextThemeWrapper클래스
          |-Activity클래스
             |--First 상속 Activity클래스
     class First 상속 Activity{ public void onCreate(1){ }  }
     class Game 상속 View{ public void onDraw(1){ } }

1) this키워드로  Activity~Context까지 접근가능해요
2) res에 자원을 추가하면 R.java등록 카테고리별로static 상수화final
     |-drawable=>그림추가 R.java등록 drawable클래스 static 상수화final 생성됨
3) id찾는 메소드  findViewById(숫자상수)   


class Naver {
  public static void main(String[ ] args) {
      //미녀는 석류를 좋아해요, static은 static만좋아해요
     //Daum da = new Daum( );
     Daum.display( "구글플레이어" ); 직접접근하기위해서는 static
  }//main end
}//class END

class Daum {
  public  static void display( String gg){중요한내용기술 }//end
}//class END

Toast.makeText(First.this, "안내문", 1000) ;
String data="1200";
int b =Integer.parsetInt(data);

class Three 상속 Activity {
  Three클래스 MyAdapter클래스

}//class END

public class MyAdapter 상속 BaseAdapter{  }

안드로이드에서 Adapter는 대량데이타 관리및 취급
그림을 표시하는 GridView, Gallery, Spinner, ListView
ListView위젯에  여러분폰에 저장된 전화번호데이타 꺼내서 출력


class First 상속 Activity {
  public void onCreate(Bundle bun){
    Activity에 접근하는 키워드 this
  }//end
}//class END

|--Context최상위
     |-ContextWrapper
        |-ContextThemeWrapper
          |-Activity클래스
              |-First클래스에서 this키워드

Button btn1=(Button)this.findViewById(R.id.btnImage);
Button btn5= new Button( this ); //저장
모든위젯의 99%는 반드시 Activity참조해야함

xml문서의 id값에 접근하는 메소드 findViewById(상수)
View  findViewById(상수)

Activity클래스의 중요메소드
 findViewById(id), finish(X), setContentView(레이아웃)

android.widget팩키지.   Button클래스
android.widget팩키지.   ImageView클래스
android.view팩키지.      View클래스
android.widget팩키지.   Toast클래스
android.app팩키지.       Activity클래스
android.content팩키지.  Content클래스

 

안드로이드 도움말
http://developer.android.com/reference/android/app/Activity.html#pubmethods
왼쪽상단 android.app
왼쪽하단 Activity클릭 조상관계


   class Two extends Activity {
     public void  onCreate(Bundle saveInstanceState){
          double avg=78.9;  //실수형 8Byte=표준타입
          String data="1200"; //문자열String클래스
          int a=(int)avg;
          int b=Integer.parseInt(data); //int표준타입=primitive type
     }//end
  }//class END

______________________________________________________________________
  class Game {   static키워드A메소드~~~,  static필드3~~}
  자바,안드로이드에서 static키워드가 있으면
  클래스이름직접접근.메소드( )

  안드로이드에서 id찾는 메소드
   findViewById(R.id.btnImage);
   View ew = findViewById(int형); 정답
   Button btn1 = (Button)findViewById(int형);

____________________________________________________________________________________
자바언어의 특징
1. 클래스상속 extends, interface상속 implements

public abstract class  Father{
  //추상메소드가 하나라도 있으면 자동 추상클래스
  public abstract void bank(); //메소드를 선언만=추상메소드
  public void bc(){  구현및기술=내용이 없어요 }
}//classs END

class  Son  extends Father{
  public void game( ){
    this키워드 부모껏, 내껏 메소드및 필드에 접근
  }//game함수=메소드

 반드시 bank( )추상메소드 재정의
  @Override  //키워드는 삭제해도 에러없어요.
  public void bank( ){  내용이없어도 재정의=overriding }
}//class END

***** 안드로이드 단축키워드 *****
 단어,키워드를 모를때 Ctrl키 + space
 클래스임포트 alt + enter


안드로이드 디렉토리 구조
 app최상위 가상디렉토리생성
  |--manifests
      |--AndroidManifest.xml=>앱어플정보가 xml기록
  |--java
      |--com.hb.adt0216팩키지
           |--First.java=>activity_first.xml연결
           |--Two.java=>activity_two.xml연결
  |--res==>자원은  R.java기록=>layout.java=>전부static상수
      |--drawable=>그림파일복사후 붙여넣기
      |--layout
           |--activity_first.xml=> R.layout.activity_first
           |--activity_two.xml
      |--menu
      |--values
____________________________________________________________________________________
  class Young {   static키워드A메소드~~~,  static필드3~~}
  안드로이드에서 id찾는 메소드
   findViewById(R.id.btnImage);
   View ew = findViewById(int형); 정답
   Button btn1 = (Button)findViewById(int형);

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

</LinearLayout>

자바도움말 api함수
http://docs.oracle.com/javase/7/docs/api/
http://docs.oracle.com/javase/8/docs/api/
왼.상 java.util팩키지
왼.하 Calendar클래스


class  Activity{
  public void bank(){300억}
}//classs END

class  Son  extends Activity{
  //당연히 main함수기술X
  public void game( ){
    this키워드 부모껏, 내껏 메소드및 필드에 접근
    super.bank(); 조상님껏=부모껏접근
    this.bank();내껏=자식클래스메소드
  }//game함수=메소드
  public void bank(){제로상태}
}//class END


____________________________________________________________________________________
이름: 김영림(강사)
강사컴퓨터 ip
\\203.236.209.131

C:\CookAndroid

수업시작및 종료시간
7:15~10:15
10시 5분 이후에 지문

수업과목
스트럿츠 & 스프링 프레임워크

우리의 작업은 CookAndroid 입니다
C:\CookAndroid

SDK설치시작시간 8:34
_________________________________________________________________
1. 자바언어특징
1)대소문자를 철처히 구별
2)문장마지막 세미콜론 있음
3)한줄주석 //  여러줄/*  */
4)클래스이름 저장이름 동일
   class Test{ } test.java에러 Test.java

2. 안드로이드입장에서 클래스설명
 안드로이드는 기본틀 Activity클래스
  public class First extends Activity {
    public void onCreate(Bundle icicle){
       super.onCreate(icicle);//꼭 있어야 함
       setContentView(R.layout.activity_first); //xml레이아웃문서
    }//onCreate end
  } //class END


http://developer.android.com/reference/android/widget/Button.html

3. xml문서와  Java문서 연결원리
자원=Resources(레이아웃,그림,테마,스타일,기타등등)
자원은 자동으로 R.java클래스파일에 등록
결론 public static final키워드 자동등록
R.layout.first
R.drawable.

epp212.exe=>실행=>확인=>예=>복사시작
=> 확인=>확인=>바탕화면에 빨간수첩아이콘

4. 안드로이드교재 118~119페이지 레이아웃배치도
   안드로이드교재 258페이지 자바에서
    기본화면은 Activity상속


구글에서 안드로이드버젼 A~Z
a: apple pie
b: banana bread
c: cupcake
d: donut
e: eclair
f: froyo
g: ginder bread =>API 10버젼
h: hony com
i: ice cream
j: jerry bean
k: kit kat
l: lollipop
m: marshmallow =>6.0버젼 API 23버젼

 

 

 


 

'앱프로그래밍 > android' 카테고리의 다른 글

android thread  (0) 2016.03.07
android 채팅  (0) 2016.03.07
fragment app 예제  (0) 2016.03.03
xml 파일읽기  (0) 2016.03.02
android  (0) 2016.02.26
by 메렁키키 2016. 3. 3. 21:53


FragmentApp.zip


android studio full src


AndroidStudio-master.zip


Toast.makeText(this,"xml연결 서버접속실패:",Toast.LENGTH_SHORT).show();

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

'앱프로그래밍 > android' 카테고리의 다른 글

android thread  (0) 2016.03.07
android 채팅  (0) 2016.03.07
android 3/3수업  (0) 2016.03.03
xml 파일읽기  (0) 2016.03.02
android  (0) 2016.02.26
by 메렁키키 2016. 3. 3. 15:57
package com.hb.adt0303;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class MainActivity extends AppCompatActivity {
TextView et;
URL url;
HttpURLConnection cn;
BufferedReader br;
InputStreamReader isr;
BufferedInputStream bis;

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

et = (TextView)findViewById(R.id.etData);
et.setText("");
}//end oncreate

public void move(View v){
int id = v.getId();
if(id == R.id.btnOne){//자체데이터
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
String str = "" ;

xpp.setInput(new StringReader("<foo>spring comes soon!</foo>"));
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
// System.out.println("Start document");
} else if (eventType == XmlPullParser.START_TAG) {
System.out.println("Start tag " + xpp.getName());
et.append("<"+xpp.getName()+">\n");
} else if (eventType == XmlPullParser.END_TAG) {
System.out.println("End tag " + xpp.getName());
et.append("</"+xpp.getName()+">");
} else if (eventType == XmlPullParser.TEXT) {
System.out.println("Text " + xpp.getText());
et.append(xpp.getText()+"\n");
}
eventType = xpp.next();
}
//System.out.println("End document");
}catch(Exception ex){

}
}else if(id == R.id.btnTwo){//톰켓서버
et.setText("");
try{

}catch(Exception ex){

}
}else if (id == R.id.btnThree){//톰켓서버xml문서
//http://203.236.209.117:8080/data/emp.xml
//et.setText("");
try {
XmlPullParserFactory factory2 = XmlPullParserFactory.newInstance();
//factory2.setNamespaceAware(true);
XmlPullParser xpp2 = factory2.newPullParser();
// et.setText("");
String path="http://203.236.209.117:8080/data/emp.xml";
url = new URL(path);
xpp2.setInput(url.openStream(), "UTF-8");
int type = xpp2.getEventType();
while(type != XmlPullParser.END_DOCUMENT){
switch (type){
case XmlPullParser.START_DOCUMENT: break;
case XmlPullParser.START_TAG:
et.append("<" + xpp2.getName() +">"); break;
case XmlPullParser.TEXT: //Thread클래스응용
et.append( xpp2.getText() ); break;
case XmlPullParser.END_TAG:
et.append("</" + xpp2.getName() +">"); break;
}//switch end
type=xpp2.next(); //RS.next( )같은역할
}//while end
}catch (Exception ex){ Log.d("hb", "xml연결 서버접속실패:" + ex.toString()); }

}else{
Toast.makeText(this,"버튼 클릭",Toast.LENGTH_SHORT).show();
et.setText("");
}
}//end move
}//end activity

'앱프로그래밍 > android' 카테고리의 다른 글

android thread  (0) 2016.03.07
android 채팅  (0) 2016.03.07
android 3/3수업  (0) 2016.03.03
fragment app 예제  (0) 2016.03.03
android  (0) 2016.02.26
by 메렁키키 2016. 3. 2. 22:04


0225목요일문서.zip

 

http://www.hanbit.co.kr/exam/4248/

=>한빛

==>t아카데미

http://www.android-town.org/


  http://webnautes.tistory.com/813(다운순서참고사이트) 

https://www.genymotion.com/#!/download 

http://developer.android.com/sdk/index.html 

http://www.oracle.com/technetwork/java/index.html


2. 사이트 

www.androidside.com 

www.androidpub.com 

www.kandroid.org1. 안드로이드 참고사이트

'앱프로그래밍 > android' 카테고리의 다른 글

android thread  (0) 2016.03.07
android 채팅  (0) 2016.03.07
android 3/3수업  (0) 2016.03.03
fragment app 예제  (0) 2016.03.03
xml 파일읽기  (0) 2016.03.02
by 메렁키키 2016. 2. 26. 00:05
| 1 |