2012. 10. 26. 18:18

mButton2.setEnabled(false);
mButton2.setClickable(true);

 

View 보이게 / 안보이게 하기     

ButtonAct.setVisibility(View.VISIBLE);
     EditAct.setVisibility(View.GONE);

 

 

'Android' 카테고리의 다른 글

리스트 뷰, 구분선 제거법.  (0) 2011.08.27
[json] arraylist 사용해 보기  (0) 2011.08.19
tomcat 과 DB2 연동하기  (0) 2011.08.12
win7에서 아파치 톰캣 7 설치하기 -  (0) 2011.08.12
[JSON] JSON 파서 1 _ JSON파서란?  (0) 2011.08.08
Posted by Triany
2011. 8. 27. 16:12

 <ListView
     android:id="@+id/android:list"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:dividerHeight="0dip"
     android:divider="#ffffff"

     />

'Android' 카테고리의 다른 글

[안드로이드] 버튼 비활성화  (0) 2012.10.26
[json] arraylist 사용해 보기  (0) 2011.08.19
tomcat 과 DB2 연동하기  (0) 2011.08.12
win7에서 아파치 톰캣 7 설치하기 -  (0) 2011.08.12
[JSON] JSON 파서 1 _ JSON파서란?  (0) 2011.08.08
Posted by Triany
2011. 8. 19. 00:55

안드로이드와 web, web과 데이터 베이스 연결 상에 json을 두어야 하는 상황이 발생하였다.
json에 대해 공부하던 중, Arraylist를 사용하면 아래와 같은 식으로 json의 데이터가 들어간다는 사실을 확인하였다.


먼저 간단히 소개하자면, ABC 클래스의 element는 a, b, c이다.
arraylist로 넣게 되면 저렇게 a, b, c라는 이름을 갖는 클래스들이 arraylist 형식으로 들어가는 것을 볼 수 있다.




원하는데로 들어간 것을 볼 수 있다.


하지만...
Arraylist를 받아서, java에서도 arraylist로 사용하고 싶었는데..
쉽지 않다.. 어떻게 해야 하지???
api가 부족해서 인가 ... 아니면 저 for문을 써서 일일이 array를 다시 생성해 줘야 하나...

'Android' 카테고리의 다른 글

[안드로이드] 버튼 비활성화  (0) 2012.10.26
리스트 뷰, 구분선 제거법.  (0) 2011.08.27
tomcat 과 DB2 연동하기  (0) 2011.08.12
win7에서 아파치 톰캣 7 설치하기 -  (0) 2011.08.12
[JSON] JSON 파서 1 _ JSON파서란?  (0) 2011.08.08
Posted by Triany
2011. 8. 12. 23:41

1. web.xml
  </web-app>부분 이전에

     <resource-ref>
    <description>DB Connection Pool </description>
    <res-ref-name>jdbc/techLabsDS </res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>

 이거 추가 -



2. server.xml
<Resource name="jdbc/techLabsDS"
      auth="Container"
      type="javax.sql.DataSource"
      username="swuadmin"
      password="swu2009"
      driverClassName="com.ibm.db2.jcc.DB2Driver"
      url="jdbc:db2://192.168.0.32:50000/swudb"
      maxActive="8"
      maxIdle="4"/ >
Posted by Triany
2011. 8. 12. 23:22



http://tomcat.apache.org/download-70.cgi

위 경로로 들어가 아파치 톰캣을 다운 받는다.

 32-bit/64-bit Windows Service Installer 를 다운!

'Android' 카테고리의 다른 글

[json] arraylist 사용해 보기  (0) 2011.08.19
tomcat 과 DB2 연동하기  (0) 2011.08.12
[JSON] JSON 파서 1 _ JSON파서란?  (0) 2011.08.08
안드로이드 화면 구성시, 가로_세로 모드 설정  (0) 2011.07.28
listView 구현시  (0) 2011.07.28
Posted by Triany
2011. 8. 8. 17:28
▣ JSON 파서란?
  - XML보다 좀 더 간략화된 정보 전달 방법 중 하나 =>가볍고! 구현이 편함!(서버와의 연동은 JSON~!)
  - JSON(Java Script Object Notation)은 웹에서 정보를 주고 받는 경량화된 방법이다.
  - JSON은 자바 스크립트에서 주로 사용되는 방법이지만 다른 언어에서도 수치, 논리, 문자열, 객체, 배열 등의 타입이 약간씩 다른 형태로 존재하므로 대부분의 언어에 활용할 수 있다.

▣ JSON의 특징 및 장점
  - 데이터 파일은 단순한 유니코드 텍스트 파일로 사람이 읽을 수 있고 직접 편집도 가능하다.
  - 단순한 텍스트 파일이므로 네트워크로 전송하기 편리하며 텍스트를 읽고 쓸 수 있는 모든 언어나 플랫폼에서 사용이 가능하다.
  - 헤더, 네임스페이스 따위의 형식적인 정보나 구두점들이 없고 정보 자체만을 가지므로 XML보다 일반적으로 길이가 짧다.
  - 대부분 언어에 JSON 파서가 라이브러리 형태로 제공되므로 직접 문자열을 파싱할 필요가 없다.
  - RFC 4627로 포맷이 규격화되어 있어 나름대로 표준이 정립되어 있다.

▣ JSON에 저장되는 정보의 형태
  - 배열 : 대괄호 안에 값을 콤마로 구분하여 나열하며, 대괄호 안에 나오는 순서대로 배열 요소의 순서가 매겨진다.[1, 2, 3]
  - 객체 : 중괄호 안에 있는 이름 : 값의 형태로 멤버 하나를 표현하고 각 멤버는 콤마로 구분한다.
순서가 아닌 이름으로 읽기 때문에 멤버의 순서는 의미가 없다. { "name" : 29 }
  - 단순 값 : 수치, 문자열, 논리형, null 등의 4가지 타입을 지원하며, 날짜나 시간, 화폐 등의 복잡한 정보는 따로 지원하지 않으므로 문자열 형태로 표현해야 한다.

▣ JSONArray 클래스는 JSON 파일에서 배열을 읽어들인다.

▣ 생성자로 JSON 문자열을 전달하면 이 문자열을 파싱하여 내부 메모리에 배열 형태로 저장할 것이다.
   ( 내부 메모리에 배열 형태로 저장하기에, 연속적인 메모리 공간에 존재하기에 빠르다. )



[사용방법]

▩ 배열에 저장된 값을 읽을 때는 다음 메서드를 호출한다. -> 인수가 다 int 기반에 index
  - Object get (int index)
  - int getInt (int index)
  - String getString (int index)
  - boolean getBoolean(int index)
  - JSONArray getJSONArray (int index)
  - JSONObject getJSONObject (int index)

▩ JSONObject 클래스는 JSON 파일에서 객체를 읽어들이며 멤버들을 읽을 때는 다음 메서드를 호출한다.
  - Object get (String key)
  - int getInet(String key)
  - String getString (String key)
  - boolean getBoolean(String key)
  - JSONArray getJSONArray (String key)
  - JSONObject getJSONObject (String key)

▩ JSON 파일에 저장되는 정보가 주로 배열과 객체이므로 JSONArray, JSONObject 두 클래스와 그 메서드들로 모든 정보를 다 추출할 수 있다.



☆ JSON 파서 (실습 예제 1) .. String 값 파싱..

 


main_1.xml



JSONArrayTest.java




★ JSON파서 (실습예제 2)

 



main_2.xml



JSONObjectTest.java




실습 예제 :




출처 : 한빛미디어_ 안드로이드 책자
Posted by Triany
2011. 7. 28. 21:37
manifest.xml에서 수정


        <activity android:name=".IntroActivity"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait"
                  android:configChanges="keyboardHidden|orientation">

portrait : 세로
landscape : 가로
Posted by Triany
2011. 7. 28. 20:28

어떤 문제 때문이었을까?
리스트 뷰 출력시 계속 중복 출력되고, 제대로 출력되지 않는 문제가 발생했었다.
(순서가 계속하여 랜덤하게 출력...)
몇일을 삽질했던 기억이.... (거의 손을 못댓다 - - 오류를 발견하지 못했기 때문에- )
오늘 발견한 오류는.. 간단..

160 라인에서 TextView couponrowStore = (TextView) v.findViewById(R.id.couponrowStore);
연결해 줄 때 TextView couponrowStore = (TextView) findViewById(R.id.couponrowStore);
coupon_row와 연결해준   v에서 findViewById를 안해준것....
간단히 v.findViewById(R.id.couponrowStore);
이 방식으로 하니 해결됬다....
..........


안드로이드는 너무 민감하고.. 디버깅 하기 힘들다...(DDMS시 디버깅이 순식간에 지나간다.. ........ ㅠㅠ)
C와 C++이 그립다... Visual Studio로 디버깅하는게 더 편하다....
T_T

Posted by Triany
2011. 7. 13. 00:34
5초간 첫 화면 액티비티를 지속하고, 다음화면으로 자동적으로 넘어가기 위한 방법이다.
2가지 방법이 있다.
첫번째는, 핸들러를 쓰는 방법.
 public class Page1 extends Activity {
 ImageView imgBtn;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.page1main);
        imgBtn = (ImageView)findViewById(R.id.page1_img);
        imgBtn.setOnClickListener(onClickImgView);
        mHandler.sendEmptyMessageDelayed(0, 5000);  
    }
   
   Handler mHandler = new Handler(){
     public void handleMessage(Message msg){
      
   //두번째 액티비티를 실행하기 위한 인텐트
   Intent intent = new Intent(Page1.this, First.class);
         startActivity(intent); //두번째 액티비티를 실행합니다.
         finish();
     }
    };
 }


2) 함수.. Timer사용.
 
public class Page1 extends Activity {
 ImageView imgBtn;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.page1main);
        imgBtn = (ImageView)findViewById(R.id.page1_img);
        imgBtn.setOnClickListener(onClickImgView);
        goMap();
     }
   
    public void goMap() {
  TimerTask goGeo = new TimerTask() {   
  @Override
   public void run() {
    Intent intent = new Intent(Page1.this, First.class);
    startActivity(intent); //두번째 액티비티를 실행합니다.
    finish();    
   }
  };
  Timer timer = new Timer();
  timer.schedule(goGeo, 5000);
 }
    
 }


Posted by Triany