2013. 1. 8. 14:17

setOnItemLongClickListener(new OnItemLongClickListener() {


@Override

public boolean onItemLongClick(AdapterView<?> adapter, View view,

int position, long id) {

return true;

}

});


return 값을 true 로 하면 된다.

Posted by hoonihoon
2012. 12. 12. 17:06

 

 

무한도전!

'Android > Preference' 카테고리의 다른 글

[3] custom Preference 만들기 ( 항목 추가하기 )  (0) 2012.12.11
[1] custom Preference 만들기  (0) 2012.12.11
Posted by hoonihoon
2012. 12. 11. 16:54

 

  PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);


 addPreferece("테스트", "key");

 protected void addPreferece(String title, String key) {
  PreferenceCategory addCategory = (PreferenceCategory) findPreference("addCategory");
  
  Preference addPrefer = new Preference(this);
  addPrefer.setKey(key);
  addPrefer.setTitle(title);
  addCategory.addPreference(addPrefer);
  
  root.addPreference(addCategory);
  

 }

 

 

'Android > Preference' 카테고리의 다른 글

[4] Preference 에 animation 붙이기  (0) 2012.12.12
[1] custom Preference 만들기  (0) 2012.12.11
Posted by hoonihoon
2012. 12. 11. 16:48

 

처음에는 ListVIew 을 통해 다음과 같은 화면을 만들려고 했는데,  즐겨찾기의경우 list 마다 동적으로 변경되야 하고 adapter 에서 해줘야 할 일이 많다. 또한  즐겨찾기 특성상 내용을 저장해야 하는데 데이터를 처리하기에는 preference 가 더 효율적일 것 같아서 preference 로 만들어 보기로 했다.

preference.xml

<?xml version="1.0" encoding="UTF-8"?>

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
   
    <Preference android:layout="@layout/preference_topmenu">
       
       
    </Preference>
   
     <Preference android:title="김태희 님"></Preference>
        <Preference android:title="메인"></Preference>
           
    <PreferenceCategory android:title="즐겨찾기" android:key="addCategory">
        <Preference android:title="공지사항"></Preference>
        <Preference android:title="메모"></Preference>
    </PreferenceCategory>
   
    <PreferenceCategory android:title="설정">
        <Preference android:title="내정보"></Preference>
        <Preference android:title="로그아웃"></Preference>
    </PreferenceCategory>
   
   
</PreferenceScreen>

 

preference_topmenu.xml

<?xml version="1.0" encoding="UTF-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/layout">

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="전체" />

        <Button
            android:id="@+id/add_preference"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="즐겨찾기" />

    </LinearLayout>

 

1부 끝 !

Posted by hoonihoon
2012. 12. 7. 16:55

예전에 네이버 API 를 이용해 스터디용 영화검색 app 만들었는데, 망연결 상태도 확인안하고 무조건 server에 요청해서

서버에 응답이 없음이라는 결과를 얻기까지 시간이 많이 걸렸었다.

이제는 요청전에 네트워크 상태를 확인해보자.

ConnectivityManager connectManager = (ConnectivityManager) getSystemService(this.CONNECTIVITY_SERVICE);

boolean isMobileOn = connectManager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();

boolean isWifiOn = connectManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

 

AndroidManifest.xml 에 다음과 같이 추가한다.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 

실시간으로 받고 싶다면 ?

broadcast 를 만들고 intenr-filter에 해당 코드를 넣어준다.

<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>

 

* 중요한 것은 네트워크 상태를 언제 확인하느냐가 중요하다. server 와 통신이 잦은 어플이라면

요청시에 network check 를 해서 보낼 것인지,  broadcast 로 받아 flag 값을 값을 통해 확인 할 것인지는

server 와 통신하는 양의 차이일 것이다.


 

 

Posted by hoonihoon
2012. 12. 6. 13:34

Gson은 json파일을 객체로 변환할수 있게 해주는 구글 라이브러리이다.

그렇다면 일단 라이브러리를 받아 보자

http://code.google.com/p/google-gson/downloads/detail?name=google-gson-2.2.2-release.zip

Gson을 어떻게 사용하는지 나와있는 google 사이트!

https://sites.google.com/site/gson/gson-user-guide

 

Gson에 관한 이슈모음 사이트! 

http://code.google.com/p/google-gson/issues/detail?id=230

What steps will reproduce the problem?
1. Build a gson with setDateFormat
Date date = new Date();
Gson gson = new GsonBuilder().setDateFormat("MM/dd/yyyy").create();
System.out.println(gson.toJson(date));

What is the expected output? What do you see instead?
Expected is "08/27/2010"
Date results in standard format: "Aug 27, 2010 10:21:32 AM"

이런식으로 자세히 나와있습니다. ^^

Posted by hoonihoon
2012. 12. 6. 10:33

 

Json은 저장, 텍스트정보 교환하기 위한 문법으로 xml 과 비슷하다.

Json은 XML보다 가볍고, 파싱할 때 더 빠르고 쉽게 사용할 수 있다.

 

아래 코드는 간단하게 만들어본 코드인데 대괄호 [] 는 array 를 나타내고

중괄호 {}는 object를 나타낸다.

[

{"content":"맛있다","date":"2012-12-03 11:14:09.0","id":1,"title":"김연아커피","writer":"김태훈"},

{"content":"맛없다","date":"2012-12-04 09:57:39.0","id":4,"title":"맥심커피","writer":"김태훈"}

]

 

위에는 1개 배열에 2개의 object를 포함한다.

 

거두절미 하고 어떻게 사용되는지 보자.

JSONArray jsonArray = new JSONArray("Json 문법으로string 변수");

 for(int i =0; i< jsonArray.length(); i++) {

jsonArray.getJSONObject(i).getString("id").toString();

jsonArray.getJSONObject(i).getString("title").toString();

jsonArray.getJSONObject(i).getString("content").toString();

jsonArray.getJSONObject(i).getString("writer").toString();

jsonArray.getJSONObject(i).getString("date").toString();

}

object를 증가시키면서 key 값으로 해당 value 값으 가져올 수 있다.

 

정말 간단 하지 않은가?

 

간단하게 사용할 때는 위에 방법이 괜찮지만 코드의 확장성과 유지보수를 쉽게 하기 위해서 다른 방법도 생각해 볼 필요가 있다.  다음 시간에 한번 알아 보도록 하자.

 

 

궁금한것은 질문 주세요. 같이 공부해 가요^^

 

 

 

Posted by hoonihoon
2012. 12. 5. 14:27

 

 

 

 http://jsonlint.com/

도움이 되셨다면 댓글 ^^

'Android > Json' 카테고리의 다른 글

JSonArray를 GSON 을 이용해 ArrayList<Object> 로 변경.  (0) 2014.01.02
[3] gson 을 사용하기  (0) 2012.12.06
[2] Json 문법 array? object?  (0) 2012.12.06
Posted by hoonihoon