안드로이드: 196개의 글
앞서 사용하는 방법을 설명했고, 이제는 실전이다. 무한도전의 회차 정보를 가져오는 내용을 해보았고, 페이지에서 전체 내가 원하는 회차 프로그램 정보를 가져오는 방법을 설명하겠다. 일단 무한도전의 회차 정보를 가져오기 위해서 확인해본 결과 아래와 같은 구조를 가지고 있었다. .... 는 이미지의 URL을 담고 있었고, ... 에는 회차정보인 택스트 정보를 담고 있었다. 안에를 자세하게 살펴보면 소스코드 Elements image = doc.select("div.brcs_thumb"); for (Element e : image) { // System.out.println(e); for (Element k : e.children()) { // System.out.println(k); for (Element y..
들어가며 웹페이지에서 내가 필요한 부분을 가져오고 싶을 경우가 있다. 예를 들면 날씨 정보나, 주식정보 등이 될 수 있다. 이번 포스팅에서는 Java의 라이브러리인 jsoup을 이용해 웹페이지 파싱하는 방법에 대해서 설명한다. Jsoup 공식 홈페이지 주소 [바로가기] Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); Elements newsHeadlines = doc.select("#mp-itn b a"); 예제 코드를 보기 위해서는 coobook을 참고하면 된다. [바로가기] 웹페이지 예를 들어서 네이버에 있는 사이트 일부분을 가져오는 코드를 설명해 보겠다. 아래 검색 결과에서 '무한도전 - 477회 이전희' 의 색칠한 내용을 가져오는 ..
안드로이드를 하면서 mp3파일을 열거나, image파일을 기존에 설치되어 있는 앱들 중에서 선택해서 열고 싶을때가 있다. 구현하기 File videoFile2Play = new File("/sdcard/banana.mpeg"); Intent i = new Intent(); i.setAction(android.content.Intent.ACTION_VIEW); i.setDataAndType(Uri.fromFile(videoFile2Play), "video/mpeg"); startActivity(i); File musicFile2Play = new File("/sdcard/banana.mp3"); Intent i2 = new Intent(); i2.setAction(android.content.Intent...
안드로이드에서 파일 삭제하는 소스코드 일단 Manifest에 파일 읽는 권한 추가하고 아래와 같이 구현하면 된다. File f = File(filePath); if (f.delete()) { Log.i("banana", "file remove = " + f.getName() + ", 삭제 성공"); } else { Log.i("banana", "file remove = " + f.getName() + ", 삭제 실패"); } 출처 : ourcstory.tistory.com/84?category=630691
들어가며 안드로이드 ListActivity에 Download폴더 내부에 있는 파일의 리스트를 보여주는 예제 입니다. Manifest에 파일 읽는 권한을 추가합니다. 구현하기 public class FileList extends ListActivity { private File file; private List myList; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myList = new ArrayList(); String rootSD = Environment.getExternalStorageDirectory().toString(); file = new File( rootSD + "/Downlo..
들어가며 안드로이드 코딩을 하다보면, 전체 화면을 사용하고 싶을 때가 있다. 전체 화면을 사용하기 위해서는 상태바(Status Bar)와 액션바(Action Bar)를 숨기면 가능하다. 상태바 에 대해서 설명을 하면, 현재 노티, 시간, 배터리 레벨 등 현재 상태를 나타내는 바(bar)이다. 항상 우리에게 스마트폰의 현재 상태를 알려주고 있는 참 고마운 bar 이다. 뭔가... 바라고 쓰니까 어색하다. 액션바는 해당 앱의 이름이나, 버튼을 넣는데 사용한다. 그렇다면 게임, 미디어 재생시에는 상태바, 액션바를 볼 필요도 없고, 보고 싶지도 않다 나를 방해하는 요소가 있으면 집중을 떨어뜨리지... 자 그렇다면 현재 상태바, 액션바를 제거하려면 어떻게 해야할까? 구현하기 상태바를 제거하기 위해서는 버전에 따라..
들어가며 HTTP는 Server와 통신하는데 가장 modern한 방식 중 하나이다. 서버에 GET, POST, PUT, DELETE 요청을 통해 데이터를 주고 받는 방법에 대해서 설명한다. 오픈 소스인 OkHttp를 설치하고, HTTP요청 방법에 대해서 설명하겠습니다. 설치하기 설치하는 방법은 총 3가지이다. jar파일 다운 또는 Maven, Gradle 추가이다. v3.2.0 Jar [다운로드] Gradle compile 'com.squareup.okhttp3:okhttp:3.2.0' Maven com.squareup.okhttp3 okhttp 3.2.0 GET package okhttp3.guide; import java.io.IOException; import okhttp3.OkHttpClient;..
들어가며 안드로이드에서 코딩을 하다보면 앱이 종료되도 값을 저장해 유지해야 할때가 많습니다. 만약 앞으로 설명해야 할 SharedPreference가 없다면, 파일입출력을 통해서 데이터를 저장을 해야하는 번거로움이 있습니다. 파일 입출력 없이 간단한 데이터를 Key, Value로 저장할 수 있다면 쓰기/읽기가 수월할 것입니다. 사용 예로는 안드로이드에서 Setting값을 항상 내가 설정한 값으로 유지해야하는 경우가 있는데, 이때 SharedPreference를 사용하면 문제를 쉽게 해결 할 수 있습니다. 하지만 앱을 제거 후 새로 설치되면 SharedPreference의 값은 초기화가 됩니다. 사용방법 SharedPreferences는 안드로이드에서 제공하고 있습니다. Context를 통해서 값을 가져올..
앱에서 서버로 인증할때는 OAuth 2.0방법을 가장많이 사용하는데 이에 대한 설명은 아래의 링크를 참조해주세요. https://oauth.net/2/ OAuth 2.0에서는 JWT(Json Web Token)를 이용합니다. 이는 인증정보를 암호화하여 url형식으로 전달해 주는 토큰이라고 합니다. Token이라는 것은 만료시간이 있으며 만료된 Token은 더이상 사용하지 못합니다. 만약 만료된 Token으로 서버와 통신한다면 401 error를 만나게 됩니다. 따라서 만료된 access token은 refresh token으로 새로운 access token을 갱신받아 사용해야만 합니다. 그럼 안드로이드에서는 토큰 갱신을 어떻게 구현할까요? 바로 okhttp3를 통해 쉽게 구현할 수 있습니다. val bu..
앱에서 서버와 통신을 할 때 사용자의 인증이 필요한 경우가 있습니다. 이럴 경우에는 해더에 Authorization를 추가하여 인증된 사용자만 정보를 취득하도록 합니다. Authorization에도 BearerToken, ApiKey, OAuth2.0등 여러가지 종류가 있습니다. 그럼 어떻게 해더에 Authorization를 넣을까요? 제가 즐겨쓰는 retofit2와 okhttp3를 이용하여 알아보도록 할게요. 먼저 retorfit2의 custom header를 사용하여 추가하는 방법입니다. public interface ApiService { @Headers("Authorization: your auth token") @GET("/test") List getTestData(); } 또 다른 방법으로는 ..