Manifest merger failed : uses-sdk:minSdkVersion 14

 

http://stackoverflow.com/questions/24438170/manifest-merger-failed-uses-sdkminsdkversion-14

 

라이브러리도 version 타겟, 빌드 버젼 등등 확인해서 봐야할 것.

 

설정

트랙백

댓글

android imageview url

A/Android 2014. 8. 11. 20:47

From Android developer:

// show The Image
new DownloadImageTask((ImageView) findViewById(R.id.imageView1))
            .execute("http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png");
}

public void onClick(View v) {
    startActivity(new Intent(this, IndexActivity.class));
    finish();

}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImageTask(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    }
}

 

설정

트랙백

댓글

webview로 띄워서 서로 간의 커뮤니케이션을 해야할 경우가 반드시 생기기 마련이다.

예를 들면 google map v3를 써서 길찾기를 한다던지?

 

연동하는 방법을 배워보고자 한다.

 

우선 android studio에 프로젝트 하나 생성 후,

 

1. 추가

AndroidManifest.xml

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

 

2. 액티비티, 웹

 

GoogleMapBridge googleMapBridge;

WebView webView;

 

onCreate

 

// 웹 뷰 로드

 webView.loadUrl("file:///android_asset/google_map.html");

// 자바스크립트 허용
 webView.getSettings().setJavaScriptEnabled(true);

 

// 해당 객체와 웹뷰 간의 연결
 webView.addJavascriptInterface(googleMapBridge, "GoogleApp");

 

 webView.setWebViewClient(new WebViewClient() {

// 페이지 로딩을 마쳤을 경우 작업
 public void onPageFinished(WebView view, String url) {

// 자바스크립트 메소드를 호출할 때, 페이지 로딩이 끝난 후 호출을 해야지 정상적으로 호출이 된다.
         googleMapBridge.sendMenu(1);
 }
 });

 

private class GoogleMapBridge {
        WebView webView;

        public GoogleMapBridge(WebView webView) {
            this.webView = webView;
        }

// 웹뷰에서 안드로이드의 메소드를 부름

        public void setMessage(final String mapX, final String mapY) {
            Message msg = new Message();
            Bundle bundle = new Bundle();

            bundle.putString("mapX", mapX);
            bundle.putString("mapY", mapY);
            msg.setData(bundle);

            targetHandler.sendMessage(msg);
        }

// 안드로이드에서 웹뷰로 자바스크립트 호출

        public void sendMenu(int num){
            webView.loadUrl("javascript:markMap(" + num + ")");
        }
    }

 

google_map.html

function init(){

// 자바스크립트에서 안드로이드로 호출

 window.GoogleApp.setMessage(1, 2);

}

 

// 안드로이드에서 이 메소드를 호출
 function markMap(num){
     // ....
 }

 

중요한 부분은 페이지 로딩이 다 끝난 후, 자바스크립트 호출을 할 수 있다는 거 주의 !

 

 

설정

트랙백

댓글

ListView 구현시에 뷰홀더(ViewHolder) 사용하기

 

http://theeye.pe.kr/archives/1253

 

설정

트랙백

댓글

출처 - http://ggari.tistory.com/229

 

안드로이드 스튜디오와 이클립스디벨로퍼 등 툴이 많이 있다. 기존 이클립스 사용자가 intellij 기반인 스튜디오를 쓰기에는 조금 힘든점이있다. 


개발할때 이클립스가 단축키및 UI 등이 이미 몸에 익어있어 편한게 사실임 나만 그런가 ....

하지만 스튜디오를 사용하면 XML 화면단 레이아웃을 만드는데 있어서는 기가 막히게 좋다. 나는 그래서 이클립스와 스튜디오를 켜놓고 레이아웃을 작업할때는 스튜디오를 쓰는 편이다..... 하지만 그것도 불편하다... 여러모드를 찾다가 발견~


1. 일단 File -> Settings를 선택 합니다.




2. IDE Settings 부분에서 Keymap 부분을 클릭해주세요.




3. 그럼 아래와 같이 Keymaps 부분에서 Eclipse 를 선택 할수 있는 부분이 나옵니다.



그럼  완벽하지는 않지만 이클립스와 동일한 단축키를 쓸 수 있습니다.  스튜디오를 이제 조금더 친해저보세요 ㅋㅋ


 

설정

트랙백

댓글

<body ng-controller="MainCtrl" ng-init="init()">
 
<div ng-init="init('Blah')">{{ testInput }}</div>
</body>

app.controller('MainCtrl', ['$scope', function ($scope) {
  $scope.testInput = null;
  $scope.init = function(value) {
    $scope.testInput= value;
  }
}]);

Here's an example.

 

ng-init가 잘 작동되지 않으면 이렇게 해보는 게 좋을 듯하다.

아님 이렇게 초기화 값을 init에 집어넣는 것도 괜찮은 듯

 

http://stackoverflow.com/questions/19981627/setting-scope-property-with-ng-init-doesnt-work

 

설정

트랙백

댓글

I had a similar need and had the same problem accessing the scope using angular.element. I was was able to solve it as follows though:

In your main/parent controller do something like this:

$scope.food = 'Mac & Cheese';
window.$windowScope = $scope;
$window.open('views/anotherWindow.html', '_blank','menubar=yes,toolbar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,personalbar=yes');

Then in the child window controller you can access $windowScope like this:

$scope.parentWindow = window.opener.$windowScope;
console.log($scope.parentWindow.food);

An alternative to putting data directly into the scope would be to use $window scope to broadcast and/or emit events, which is the preferred way of cross-controller communication in angular.

 

 

http://stackoverflow.com/questions/17007939/accessing-parent-window-angular-scope-from-child-window

설정

트랙백

댓글

1. 블루 스택 설치한다.

 

2-1. 자바 설치하고 JAVA_HOME 셋팅 완료.

2. 우선 안드로이드 셋팅

 

 

요 파란색 부분 다운 받고 적당한 위치에 둔다.

 

3. Project - Android Application Project - 프로젝트 명은 Test_1

    그냥 Next 누른다.

 

 

이런 기본적인 화면이 뜨면 성공.

 

4. ADT Bundle을 다운 받으면 딸려오는 sdk 있을 것이다. 이 안에 sdk\platform-tools 위치에 adb가 있는 데,

    블루스택 실행 상태 가정하고, 현재 그 위치에 있는 cmd 창 띄우고 adb connect localhost

    해서 블루스택을 연결시킨다.

 

5. 그담 이클립스 Run - Run Configurations 가서

 

파란색부분 Browse 에서 생성한 프로젝트를 선택하고

 

 

Target 탭에 Always prompt to pick device를 선택한다.

 

 

 

인제 여기서 Run으로 실행을 하면 선택 창이 뜨는 데 samsung 어쩌구 클릭 후, OK 누르면 bluestack 부분에 내가 만든 프로젝트가 띄워질 것이다.

 

 

설정

트랙백

댓글

KMP 알고리즘

A/Algorithm 2011. 10. 28. 12:41
#include 
#include 
char s[1000]={0},p[100]={0};
int n,m,pi[100]={0};
void find_pi()
{
int i=0,j=-1;
pi[0]=-1;
while(i < m)
{
if(j==-1 || p[i]==p[j])
{
i++,j++;
pi[i]=j;
}
else j=pi[j];
}
}
void kmp()
{
int i=0,j=0;
while(i < n)
{
if(j==-1 || s[i]==p[j]) i++,j++;
else j=pi[j];
if(j==m)
{
printf("Match : %d to %d\n",i-m+1,i);
j=pi[j];
}
}
}
int main(void)
{
scanf("%s",s);
scanf("%s",p);
n=strlen(s),m=strlen(p);
find_pi();
kmp();
return 0;
}
출처 : http://211.228.163.31/30stair/KMP_doc/KMP_doc.php?pname=KMP_doc

'A > Algorithm' 카테고리의 다른 글

연결성 문제를 위한 가중 퀵병합 방식  (0) 2011.10.27
재밋는? 러시아 페인트공 알고리즘  (0) 2011.10.27
냅색(Knapsack:배낭) 문제  (0) 2011.10.27
토끼와 거북이 알고리즘  (0) 2011.10.27
XOR 교체 알고리즘  (0) 2011.10.27

설정

트랙백

댓글


// 가중 퀵병합

#include <stdio.h>

#define N 50

int main(void)

{

int i, j, p, q, id[N], sz[N];

for(i=0; i<N; i++) // 초기화

id[i] = i, sz[i] = 1;

while(scanf("%d %d", &p, &q) == 2){

for(i = p; i != id[i]; i = id[i]); // p의 부모 노드 찾기

for(j = q; j != id[j]; j = id[j]); // q의 부모 노드 찾기

if(i == j) // 부모노드가 같을 경우 패스

continue;

if(sz[i] > sz[j]){

id[j] = i, sz[i] += sz[j];

} else if(sz[i] <= sz[j]){

id[i] = j, sz[j] += sz[i];

}

}

for(i=0; i<N; i++) // 출력 예

printf("%d ", id[i]);

puts("");

return 0;

}

+++++++ 절반 분할에 의한 경로 압축 +++++++ // 이것을 하는 것과 안하는 차이는 미묘하다고 전해짐

for(i = p; i != id[i]; i = id[i])

id[i] = id[id[i]];

for(j = q; j != id[j]; j = id[j])

id[j] = id[id[j]];

'A > Algorithm' 카테고리의 다른 글

KMP 알고리즘  (0) 2011.10.28
재밋는? 러시아 페인트공 알고리즘  (0) 2011.10.27
냅색(Knapsack:배낭) 문제  (0) 2011.10.27
토끼와 거북이 알고리즘  (0) 2011.10.27
XOR 교체 알고리즘  (0) 2011.10.27

설정

트랙백

댓글