반응형
반응형

안드로이드폰에서 파이썬을 사용하려면 SL4A(Scripting Layer for Android),

 Python for Android를 설치해야 한다.

 

SL4A 설치 : http://code.google.com/p/android-scripting/


QR로 다운 받을 수 있다. : http://android-scripting.googlecode.com/files/sl4a_r6.apk

 

SL4A를 실행하고 Menu > View > Interpreters 를 선택하면 "SHELL"이라는 메뉴가 나타난다.

shell 을 통해서 안드로이드폰과 대화를 할 수 있다.

 

난 "SHELL"이 나오지 않아서 바로 Python for Android를 설치해버렸다.

 

Python for Android 설치 : http://code.google.com/p/android-scripting/downloads/detail?name=PythonForAndroid_r4.apk

File:
Description:
Latest Python release.

Note that Python for Android is now being hosted here:
http://code.google.com/p/python-for-android/

This is a copy of the lastest release, placed here for convenience.
SHA1 Checksum: ff4dfef760880fd1cdbc164045cc859947ecbe1d What's this?

 

설치하면 Install 메뉴가 나오는데, 바로 Install 터치.

몇 번의 다운로드와 설치가 끝나고, Install > UnInstall 로 변경된다.

 

그럼, 다시 SL4A를 실행하면  Script와 Shell이 대기중일 것이다.

스크립트 목록이 나오는데, shell화면으로 가고 싶으면 View > Interpreters 로 이동한다.

 

Interpreters에서 python을 선택하면 파이썬 shell로 들어간다. 안드로이드를 import해서 핸드폰 기능을 테스트 해 볼 수 있다.

 

안드로이드 모듈을 가져온다.

>>>import android

>>>droid = android.Android()

 

>>>droid.vibrate()

: 진동을 실행한다. 그런데, 한번밖에 되지 않는다.

 

>>>droid.ttsSpeak('anneung')

: '안녕'이라고 스피커에서 나온다.

 

>>>def ann(): droid.ttsSpeak('anneung')

>>>ann()

>>>ann()

 

 

 

 

 

 

 

 

 

 

스크립트 파일을 추가해서 파일을 실행 해 볼 수 있다.

파일을 생성하고, MENU > Save & Run을 선택하면 저장하면서 실행이 된다.

반응형
반응형

Scaloid - 오픈소스 안드로이드 라이브러리

 

https://github.com/pocorall/scaloid

 

스칼라 언어로 안드로이드 개발의 어려움을 줄여주고자 만들어졌다.

 

Less painful Android development with Scala

Scaloid is a library aimed to simplify your Android code. It makes your code easy to write and understand by leveraging Scala language.

For example, the code block shown below:

val button = new Button(context)
button.setText("Greet")
button.setOnClickListener(new OnClickListener() {
  def onClick(v: View) {
    Toast.makeText(context, "Hello!", Toast.LENGTH_SHORT).show()
  }
})
layout.addView(button)

is reduced to:

SButton("Greet", toast("Hello!"))

Benefits

  • Write elegant Android software
    Scaloid provides a concise and type-safe way of writing Android application.
  • Simple to use
    Check our quick start guide
  • Compatible with your legacy code
    You can use both Scaloid and plain-old Java Android API. You can gradually improve your legacy code.
  • Maintained actively
    Scaloid is a dogfooding software. This is originally created to be used for my own Android apps.

Demos

If you want to see how Scaloid can be used in action, check a Scala port of apidemos app.

Need help using Scala language on your Android project?

There is an out-of-the-box solution. Just fork this project and start your Scala-Android app.

Features

...and many other things! Check the official Scaloid blog for news and announcements.

 

반응형
반응형

FragmentLayoutMaps

https://github.com/petedoyle/android-support-v4-googlemaps/tree/dev-samples/src/samples/FragmentLayoutMaps

 

Activity LifeCycle

 * http://developer.android.com/guide/components/activities.html

Activity LifeCycleActivity LifeCycle

 

 

 

 

Fragment LifeCycle

* http://developer.android.com/guide/components/fragments.html

 

Fragment LifeCycleFragment LifeCycle

 

 

 

######  http://developer.android.com/  #####

 

 

 

반응형
반응형

안드로이드에서 webview가 fragment 로 만들어졌을 경우 웹페이지에서 <select> 태그가 작동하지 않을때가 있다.

액티비티로 만들면 바로 작동이 되지만 일부 디바이스에서 작동이 안될때가 있어서. 속터진다. ㅋㅋ

 

인터넷 검색하면 여러 답변이 있는데, 우리가 필요로 하는 건 없었다.

 

어플에서 수정이 필요하다.

 

 

==================================================================================

 

WebView into a Fragment (android.support.v4)

 

http://stackoverflow.com/questions/9279632/webview-into-a-fragment-android-support-v4

 

==================================================================================

 

[android] 2.2에서 fragment 사용하기

 

fragment 에 대한 설명 : http://androidhuman.tistory.com/469

예제 소스는 http://daddycat.blogspot.com/2011/08/android-30-fragments-example.html 에서 가져와서 약간 수정했음.

허니컴 이하에서 사용할 때 주의할 점 : http://www.androidpub.com/1432908

 

==================================================================================

 

Select dropdown in Android webview

 

The select tag just doesn’t work sometimes in Android, especially in an app using webview. This drove me nuts for a long long time. The main fix I found, even if your select is buried deep in divs and rows and what ever, is this css:


select {
  visibility: visible;
  -webkit-appearance: menulist-text;
}


 

The -webkit-appearance might be the only one actually needed and setting it to ‘listbox’ works too.

반응형
반응형

Multi Screen & Density

안드로이드는 다양한 해상도와 density를 지원하는 여러 기기에서 동작하고 있다.

기본적으로 각각의 기기에 맞게 내부적으로 저절하지만, 이것을 최적화하는 것은 개발자의 몫이다.

안드로이드는 해상도가 다른 기기에서 별무리 없이 돌아갈 수 있도록 layout과 drawable 파일들을 옵션에  따라 분류해 해결하고 있다.

애플리케이션 구동시 안드로이드 시스템은 각 density에 알맞는 리소스를 선택하거나 이미 존재하고 있는

리소스를 불러온 후 이것을 조절해 각 디바이스마다 다른 density 문제를 해결한다.

 * http://developer.android.com/guide/topics/resources/drawable-resource.html

 

3.2 이전 버전에서는 보통 Screen size를 small, normal, large, xlarge로 구분해 layout파일을 알맞은 폴더에 배치하면, 안드로이드 시스템은 기기의 Screen에 맞게 알맞은 layout 리소스를 선택한다.

이떄 layout폴더 안에 들어가는 layout파일의 이름을 같게 하고, 배치되는 View의 id를 같게 할 경우 코드상에서는 단순히 하나의 layout파일을 보는 것과 같은 모습을 보여준다.  또한 이 폴더명에 land.port를 붙여 Screen orientation에 따른 layout도 세세하게 설정할 수 있다.

이 경우 프로그래머는 layout 파일을 수정해 여러 설정에 맞는 layout 파일을 만들고 디자이너는 drawable 리소스를 각각 만들어 여러 상황에서의 Multi Screens 환경을 구현할 수 있다.

 

 하지만 이 방법을 사용할 경우 7인치 태블릿의 경우 처리가 곤란하다. 7인치 태블릿의 large 영역에 위치하므로 5인치 정도의 기기와 동일한 영역에 위치하지만 사실상 태블릿으로서의 layout을 작성해야 한다.

 따라서 안드로이드는 추가로 3.2버전이 나오면서 좀더 세세하게 Screen size를 나눌 수 있는 방법을 제시했다.

dp를 활용해 그룹을 좀더 세밀하게 나누는 방식을로서 smallestWidth, Available screen width, Available screen height의 방법으로 설정할 수 있다.

 

 대표적인 Screen 크기에 대한 dp 분류표

 320dp

  일반적인 Screen (240 x 320 ldpi, 320 x 480 mdpi, 480 x 800 hdpi 등)

 480dp

   델의 streadk와 같은 테블릿의 중간 기기( 480 x 800 mdpi)

 600dp

   7인치 테블릿 (600 x 1024 mdpi)

 720dp

   10인치 태블릿 (720 x 1280 mdpi, 800 x 1280 mdpi 등)

 

Nine patch

애플리케이션을 개발하다 보면 UI작업이 많은 프로젝트일 경우 리소스 파일이 커서 애플리케이션이 전체적으로 무거워지는 상황이 발생할 수 있다. 또한 이미지 형태를 동적으로 변화시켜야만 할 수 있으며 이때 Nine patch는 대안이 될 수 있다.

Nine patch는 일반 png파일의 가장자리 부분에 1픽셀씩 추가해 늘어가는 영역을 지정할 수 있다. 확장자는 .9.png가 되며 일반적으로 버튼이나 에디트 텍스트창에서 많이 사용된다.

 * http://developer.android.com/tools/help/draw9patch.html 

 

The Draw 9-patch tool allows you to easily create a NinePatch graphic using a WYSIWYG editor.

For an introduction to Nine-patch graphics and how they work, please read the section about Nine-patch in the 2D Graphics document.

Here's a quick guide to create a Nine-patch graphic using the Draw 9-patch tool. You'll need the PNG image with which you'd like to create a NinePatch.

  1. From a terminal, launch the draw9patch application from your SDK /tools directory.
  2. Drag your PNG image into the Draw 9-patch window (or File > Open 9-patch... to locate the file). Your workspace will now open.

    The left pane is your drawing area, in which you can edit the lines for the stretchable patches and content area. The right pane is the preview area, where you can preview your graphic when stretched.

  3. Click within the 1-pixel perimeter to draw the lines that define the stretchable patches and (optional) content area. Right-click (or hold Shift and click, on Mac) to erase previously drawn lines.
  4. When done, select File > Save 9-patch...

    Your image will be saved with the .9.png file name.

Note: A normal PNG file (*.png) will be loaded with an empty one-pixel border added around the image, in which you can draw the stretchable patches and content area. A previously saved 9-patch file (*.9.png) will be loaded as-is, with no drawing area added, because it already exists.

Optional controls include:

  • Zoom: Adjust the zoom level of the graphic in the drawing area.
  • Patch scale: Adjust the scale of the images in the preview area.
  • Show lock: Visualize the non-drawable area of the graphic on mouse-over.
  • Show patches: Preview the stretchable patches in the drawing area (pink is a stretchable patch).
  • Show content: Highlight the content area in the preview images (purple is the area in which content is allowed).
  • Show bad patches: Adds a red border around patch areas that may produce artifacts in the graphic when stretched. Visual coherence of your stretched image will be maintained if you eliminate all bad patches.

     

     

     

     

    안드로이드 개발자 사이트

     

    http://developer.android.com/

    http://developer.android.com/guide/topics/ui/overview.html

    반응형
    반응형

    2012.04 현재 분포되어 있는 디바이스 버전별 현황

    2012.04 현재 분포되어 있는 디바이스 버전별 현황2012.04 현재 분포되어 있는 디바이스 버전별 현황. The following pie chart and table is based on the number of Android devices that have accessed Google Play within a 14-day period ending on the data collection date noted below.


    안드로이드 버전별 정리

    * 현재 시점에 아이스크림으로 업데이트한 갤럭시 S2에서 많은 문제점을 보이고 있다.


     

     코드네임

     내용

     

     Ice Cream Sandwich 4.0

     Simple, Beautiful, Useful ?

    태블릿과 스마트폰 공용OS

     

     Honeycom 3.~

     태블릿 전용

     

     Gingerbread 2.3

    인터넷접속으로 OS업데이트,

    NFC지원 등등

     

     Froyo 2.2

     
     

     Eclair 2.0/2.1

     
     

     Donut 1.6
     
       Cupcake 1.5
     
       B Android 1.1
     Android 1.0
     




    반응형

    + Recent posts