728x90
반응형

프로그래밍 언어/Android 156

[Android] 버튼 클릭으로 새로운 Activity을 시작하는 방법

질문 : 버튼 클릭으로 새로운 활동을 시작하는 방법 Android 애플리케이션에서 다른 활동의 버튼을 클릭 할 때 새 활동 (GUI)을 시작하는 방법과이 두 활동간에 데이터를 전달하는 방법은 무엇입니까? 답변 쉬운. Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class); myIntent.putExtra("key", value); //Optional parameters CurrentActivity.this.startActivity(myIntent); 추가 항목은 다음을 통해 다른 쪽에서 검색됩니다. @Override protected void onCreate(Bundle savedInstanceState) { Intent intent..

Android View의 상단과 하단에 테두리를 추가하는 쉬운 방법

질문 : Android View의 상단과 하단에 테두리를 추가하는 쉬운 방법이 있습니까? TextView가 있고 위쪽 및 아래쪽 테두리를 따라 검은 색 테두리를 추가하고 싶습니다. android:drawableTop 및 android:drawableBottom 을 TextView에 추가하려고했지만 이로 인해 전체보기가 검은 색이되었습니다. Android의 View (특히 TextView)에 상단 및 하단 테두리를 쉽게 추가하는 방법이 있습니까? 답변 Android 2.2에서는 다음을 수행 할 수 있습니다. /res/drawable/textlines.xml과 같은 xml 드로어 블을 만들고이를 TextView의 배경 속성으로 할당합니다. /res/drawable/textlines.xml 이것의 단점은 투명..

새 Android 조각을 인스턴스화하는 모범 사례

질문 : 새 Android 조각을 인스턴스화하는 모범 사례 응용 프로그램에서 새 조각을 인스턴스화하는 두 가지 일반적인 관행을 보았습니다. Fragment newFragment = new MyFragment(); 과 Fragment newFragment = MyFragment.newInstance(); 두 번째 옵션은 정적 메서드 newInstance() 하며 일반적으로 다음 메서드를 포함합니다. public static Fragment newInstance() { MyFragment myFragment = new MyFragment(); return myFragment; } 처음에는 새로운 인스턴스를 생성 할 때 유연성을 제공하기 위해 newInstance () 메서드를 오버로드 할 수 있다는 것이 주..

Android Studio에 라이브러리 프로젝트를 추가하는 방법

질문 : Android Studio에 라이브러리 프로젝트를 어떻게 추가합니까? Android Studio에 라이브러리 프로젝트 (예 : Sherlock ABS)를 어떻게 추가합니까? (이전 ADT Eclipse 기반 번들이 아니라 새로운 Android Studio .) 답변 Android Studio 1.0 업데이트 Android Studio 1.0이 출시 된 이후로 (그리고 v1.0과 이전 답변 당시의 첫 번째 버전 중 하나 사이의 많은 버전) 몇 가지 사항이 변경되었습니다. 내 설명은 Gradle 파일을 통해 외부 라이브러리 프로젝트를 직접 추가하는 데 중점을 둡니다 (프로세스를 더 잘 이해하기 위해). Android Studio 제작자를 통해 라이브러리를 추가하려면 시각적 가이드로 아래 답변을 확인..

Android에서 전역 변수를 선언하는 방법

질문 : Android에서 전역 변수를 선언하는 방법은 무엇입니까? 로그인이 필요한 응용 프로그램을 만들고 있습니다. 메인 및 로그인 활동을 만들었습니다. 기본 활동 onCreate 메서드에서 다음 조건을 추가했습니다. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ... loadSettings(); if(strSessionString == null) { login(); } ... } 로그인 양식이 종료 될 때 실행되는 onActivityResult @Override public void onActivityResult(int requestCod..

Android 레이아웃에서 텍스트에 밑줄을 긋는 방법

질문 : Android 레이아웃에서 텍스트에 밑줄을 긋을 수 있습니까? Android 레이아웃 xml 파일에서 밑줄이 그어진 텍스트를 어떻게 정의 할 수 있습니까? 답변 , 및 와 같은 HTML 태그를 지원 하는 문자열 리소스 xml 파일을 사용하면 가능합니다. This is an underline. 코드에서 밑줄을 긋고 싶다면 다음을 사용하십시오. TextView textView = (TextView) view.findViewById(R.id.textview); SpannableString content = new SpannableString("Content"); content.setSpan(new UnderlineSpan(), 0, content.length(), 0); textView.setText..

Android에서 활동 시작시 EditText가 포커스를 얻지 못하도록 하는 방법

질문 : Android에서 활동 시작시 EditText가 포커스를 얻지 못하도록하는 방법 Android에는 두 가지 요소가있는 Activity 내 Activity 시작되면 EditText 즉시 입력 포커스가 있습니다 (깜박이는 커서). 시작할 때 컨트롤에 입력 포커스가있는 것을 원하지 않습니다. 나는 시도했다 : EditText.setSelected(false); EditText.setFocusable(false); 불운. Activity EditText 가 자신을 선택하지 않도록 어떻게 확신시킬 수 있습니까? 답변 Luc와 Mark의 훌륭한 답변이지만 좋은 코드 샘플이 없습니다. android:focusableInTouchMode="true" 및 android:focusable="true" 태그를 상위..

Android에서 'Context'를 얻는 방법

질문 : Android에서 '컨텍스트'를 얻는 정적 방법? Context 인스턴스를 가져 오는 방법이 있습니까? 변경 될 때마다 '컨텍스트'인스턴스를 저장하는 것이 싫기 때문에 그런 식으로 찾고 있습니다. 답변 이 작업을 수행: Android Manifest 파일에서 다음을 선언하십시오. 그런 다음 클래스를 작성하십시오. public class MyApplication extends Application { private static Context context; public void onCreate() { super.onCreate(); MyApplication.context = getApplicationContext(); } public static Context getAppContext() { re..

Android에서 사용할 수 있는 인터넷 연결이 있는지 확인하는 방법

질문 : Android에서 사용할 수있는 인터넷 연결이 있는지 감지 중복 가능성 : Android에서 인터넷 액세스를 확인하는 방법은 무엇입니까? InetAddress는 시간 초과되지 않습니다. Android 기기가 인터넷에 연결되어 있는지 감지해야합니다. NetworkInfo 클래스는 완벽하게 들리는 비 정적 메서드 isAvailable() 을 제공합니다. 문제는 다음과 같습니다. NetworkInfo ni = new NetworkInfo(); if (!ni.isAvailable()) { // do something } 이 오류가 발생합니다. The constructor NetworkInfo is not visible. NetworkInfo 객체를 반환하는 다른 클래스가 있다는 것입니다. 그러나 나는 ..

Android Studio가 기기를 인식하지 못할 때

질문 : Android Studio가 기기를 인식하지 못함 Android Studio의 AVD Manager에는 내 adb devices 에는 표시됩니다. 여기서 명백한 것이 누락 되었습니까? 답변 Android 스튜디오에서 실행 또는 디버그를 클릭 할 때 애플리케이션의 기본값을 변경하려면 다음 단계를 따르세요. 1. 실행으로 이동 2. 구성 편집을 클릭합니다. 3. 프로젝트 선택 4. Android 애플리케이션 페이지 의 일반 탭 에서 대상 장치 섹션을 찾습니다. 그것은 프로젝트가 빌드하는 것을 토글하는 곳인 것 같습니다. 프로젝트를 가져 오는 경우 실제로 기본적으로 에뮬레이터가 사용되지만 이유는 확실하지 않습니다. "배포 대상 선택 대화 상자 열기"를 선택하여 연결된 장치와 에뮬레이트 된 장치를 모두..

android : layout_weight가 의미하는 것

질문 : android : layout_weight는 무엇을 의미합니까? 이 속성을 사용하는 방법을 이해하지 못합니다. 누구든지 그것에 대해 더 말할 수 있습니까? 답변 layout_weight 를 사용하면 여러보기 간의 크기 비율을 지정할 수 있습니다. 예를 들어 MapView 추가 정보를 표시해야하는 table 지도는 화면의 3/4를 사용하고 테이블은 화면의 1/4을 사용해야합니다. 그럼 당신은 설정됩니다 layout_weight 의 map 3과 layout_weight 의 table 1을. 작동하려면 높이 또는 너비 (방향에 따라 다름)를 0px로 설정해야합니다. 출처 : https://stackoverflow.com/questions/3995825/what-does-androidlayout-wei..

Android Studio : jar를 라이브러리로 추가 하는 방법

질문 : Android Studio : jar를 라이브러리로 추가 하시겠습니까? 새로운 Android Studio를 사용하려고하는데 제대로 작동하지 않는 것 같습니다. Gson 라이브러리를 사용하여 JSON 개체를 직렬화 / 역 직렬화하고 있습니다. 그러나 라이브러리는 어떻게 든 빌드에 포함되지 않습니다. MainActivity 만 사용하여 새 프로젝트를 만들었습니다. / libs 폴더에 gson-2.2.3.jar 을 복사하여 라이브러리 종속성으로 추가했습니다 (오른쪽 클릭-> 라이브러리로 추가). 여기에는 android studio의 jar가 포함되어 있으므로 소스 파일에서 참조 할 수 있습니다. 프로젝트를 실행하려고 할 때 컴파일 할 수 없으므로 다음을 추가했습니다. compile files('lib..

Android의 시스템 버전을 확인 하는 방법

질문 : Android의 시스템 버전을 어떻게 확인할 수 있습니까? 프로그래밍 방식으로 1.0 , 2.2 등)을 어떻게 확인할 수 있는지 아는 사람이 있습니까? 답변 android.os.Build.VERSION 확인하십시오. CODENAME : 현재 개발 코드 명 또는 릴리스 빌드 인 경우 "REL"문자열입니다. INCREMENTAL :이 빌드를 나타 내기 위해 기본 소스 컨트롤에서 사용하는 내부 값입니다. RELEASE : 사용자가 볼 수있는 버전 문자열입니다. CODENAME : 현재 개발 코드 명 또는 릴리스 빌드 인 경우 "REL"문자열입니다. INCREMENTAL :이 빌드를 나타 내기 위해 기본 소스 컨트롤에서 사용하는 내부 값입니다. RELEASE : 사용자가 볼 수있는 버전 문자열입니다. ..

Android : 보이지 않는 것(invisible)과 사라진 것(gone)의 차이

질문 : Android : 보이지 않는 것과 사라진 것의 차이? 보기 가시성 상태에서 invisible 과 gone 의 차이점은 무엇입니까? 답변 보이지 않음 : 이보기는 보이지 않지만 레이아웃 용도로 여전히 공간을 차지합니다. 지나간: 이보기는 보이지 않으며 레이아웃 용도로 공간을 차지하지 않습니다. 출처 : https://stackoverflow.com/questions/11556607/android-difference-between-invisible-and-gone

Android에서 INSTALL_FAILED_INSUFFICIENT_STORAGE 오류 해결

질문 : Android에서 INSTALL_FAILED_INSUFFICIENT_STORAGE 오류 해결 INSTALL_FAILED_INSUFFICIENT_STORAGE 오류는 모든 Android 개발자의 삶의 골칫거리입니다. 앱 크기 나 사용 가능한 저장 용량에 관계없이 발생합니다. 대상 장치를 재부팅하면 문제가 잠시 해결되지만 곧 다시 나타납니다. 문제가 발생하는 이유를 묻는 사람들의 메시지 보드 게시물이 수백 개 (수천 개는 아니지만) 있지만 Google 직원들은이 문제에 대해 답답할 정도로 침묵하고 있습니다. 간단한 해결 방법이 있습니다. 테스트 기기가 Android 2.2 이상을 실행 "preferExternal" android:installLocation 속성을 애플리케이션의 매니페스트 파일에 추..

Android의 Intent 에서 추가 데이터를 얻는 방법

질문 : Android의 인 텐트에서 추가 데이터를 얻으려면 어떻게해야합니까? 한 활동 (의도)에서 다른 활동으로 데이터를 보내려면 어떻게해야합니까? 이 코드를 사용하여 데이터를 보냅니다. Intent i=new Intent(context,SendMessage.class); i.putExtra("id", user.getUserAccountId()+""); i.putExtra("name", user.getUserFullName()); context.startActivity(i); 답변 getIntent() 메서드를 사용하여 활동을 시작한 인 텐트를 가져옵니다. Intent intent = getIntent(); 추가 데이터가 문자열로 표시되는 경우 intent.getStringExtra(String nam..

Android 애플리케이션에서 이메일을 보내는 방법

질문 : 내 Android 애플리케이션에서 이메일을 보내는 방법은 무엇입니까? Android에서 애플리케이션을 개발 중입니다. 애플리케이션에서 이메일을 보내는 방법을 모르십니까? 답변 가장 좋은 (그리고 가장 쉬운) 방법은 Intent 를 사용하는 것입니다. Intent i = new Intent(Intent.ACTION_SEND); i.setType("message/rfc822"); i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"}); i.putExtra(Intent.EXTRA_SUBJECT, "subject of email"); i.putExtra(Intent.EXTRA_TEXT , "body of email"); try { ..

Android Webview는 loadurl을 호출 할 때 브라우저를 시작합니다.

질문 : Android Webview는 loadurl을 호출 할 때 브라우저를 시작합니다. LinearLayout 에 제목과 웹보기가있는 Activity 을 만들었습니다. onResume() 메서드에서 webView.loadUrl(url) 호출합니다. 문제는 활동이 먼저 화면의 나머지 부분을 비워두고 제목을 표시 한 다음 장치 브라우저가 URL 페이지와 함께 시작된다는 것입니다. 내가보고 싶은 것은 제목 아래 WebView 에 표시되는 페이지입니다. 무엇이 문제일까요? 편집 : 좋아, 몇 가지 추가 검색을 수행하고 다음을 찾았습니다. URL을 클릭하면 기본 브라우저가 열립니다. 여기 WebView 자습서를 가리 킵니다. 웹 클라이언트를 구현하고 설정하십시오. 답변 Maudicus 및 Hit의 제안을 기반..

Android에서 상태 표시 줄 색상을 변경하는 방법

질문 : Android에서 상태 표시 줄 색상을 변경하는 방법은 무엇입니까? 우선 안드로이드 상태 표시 줄의 배경색을 변경하는 방법에서 와 같이 중복되지 않습니다. 내비게이션 바에서와 동일해야하는 상태 바 색상을 어떻게 변경합니까? 상태 표시 줄 색상을 탐색 모음 색상과 동일하게하고 싶습니다. 답변 colorPrimaryDark 값에 따라 상태 표시 줄의 색상을 자동으로 지정하는 머티리얼 디자인 테마를 도입했습니다. 이는 버전 21부터 지원되는 라이브러리 support-v7-appcompat 덕분에 기기 사전 롤리팝에서 지원됩니다. Chris Banes의 appcompat v21 지원에 대한 블로그 게시물 공식 Android 개발자 웹 사이트에서 머티리얼 테마에 대해 자세히 알아보세요. 출처 : http..

Android 애플리케이션에서 인터넷에 액세스하려면 필요한 권한

질문 : Android 애플리케이션에서 인터넷에 액세스하려면 어떤 권한이 필요합니까? 내 앱을 실행하면 다음과 같은 예외가 발생합니다. java.net.SocketException: Permission denied (maybe missing INTERNET permission) 누락 된 권한 문제는 어떻게 해결합니까? 답변 매니페스트 파일에 INTERNET 권한을 추가합니다. 다음 줄을 추가해야합니다. AndroidManifest.xml의 애플리케이션 태그 외부 출처 : https://stackoverflow.com/questions/2378607/what-permission-do-i-need-to-access-internet-from-an-android-application

Android 텍스트 뷰 주위에 테두리 그리는 방법

질문 : Android 텍스트 뷰 주위에 테두리를 어떻게 두나요? 텍스트 뷰 주위에 테두리를 그릴 수 있습니까? 답변 모양 드로어 블 (사각형)을 뷰의 배경으로 설정할 수 있습니다. 그리고 직사각형 drawable back.xml (res / drawable 폴더에 넣음) : 단색의 배경이 @android:color/transparent 를 사용할 수 있습니다. 패딩을 사용하여 테두리에서 텍스트를 분리 할 수도 있습니다. 자세한 내용은 http://developer.android.com/guide/topics/resources/drawable-resource.html을 참조하십시오. 출처 : https://stackoverflow.com/questions/3496269/how-do-i-put-a-bord..

Android 앱에서 공유 환경 설정 데이터를 삭제하는 방법

질문 : Android 앱에서 공유 환경 설정 데이터를 삭제하는 방법 내 응용 프로그램의 SharedPreferences 데이터를 어떻게 삭제합니까? 많은 웹 서비스를 사용하여 데이터를 동기화하는 응용 프로그램을 만들고 있습니다. 테스트를 위해 앱을 다시 시작할 때 일부 SharedPreferences 값을 지워야합니다. 답변 특정 값을 제거하려면 : SharedPreferences.Editor.remove () 다음에 commit() SharedPreferences.Editor.clear() 와 commit() 을 제거하려면 반환 값에 대해 신경 쓰지 않고 애플리케이션의 메인 스레드에서 이것을 사용하는 경우 대신 apply() 출처 : https://stackoverflow.com/questions/3..

Android API 22 getResources (). getDrawable () 지원 중단에 대해서

질문 : Android getResources (). getDrawable () 지원 중단 API 22 새로운 Android API 22에서는 getResources().getDrawable() 이 더 이상 사용되지 않습니다. 이제 가장 좋은 방법은 getDrawable() 만 사용하는 것입니다. 무엇이 바뀌 었습니까? 답변 로드하는 드로어 블의 종류에 따라이 지원 중단을 올바른 (및 향후 증명 ) 방식으로 처리 할 수있는 몇 가지 옵션이 있습니다. A)는 테마 속성으로 드로어 블 ContextCompat.getDrawable(getActivity(), R.drawable.name); 활동 테마가 지시하는대로 스타일이 지정된 Drawable을 얻을 수 있습니다. 이것은 아마도 당신이 필요로하는 것입니다...

Android에서 한 활동에서 다른 활동으로 객체를 전달하는 방법

질문 : Android에서 한 활동에서 다른 활동으로 객체를 전달하는 방법 한 Activity 에서 내 고객 클래스의 개체를 보내고 Activity 표시하려고합니다. 고객 분류 코드 : public class Customer { private String firstName, lastName, Address; int Age; public Customer(String fname, String lname, int age, String address) { firstName = fname; lastName = lname; Age = age; Address = address; } public String printValues() { String data = null; data = "First Name :" + fi..

Android 튜토리얼에서 대부분의 필드 (클래스 멤버)가 'm'으로 시작하는 이유

질문 : Android 튜토리얼에서 대부분의 필드 (클래스 멤버)가 'm'으로 시작하는 이유는 무엇입니까? 낙타 케이스 규칙에 대해 알고 있지만이 m 규칙과 혼동됩니다. 그것은 무엇을 의미합니까? 저는 PHP 개발자입니다. "우리"는 부울의 경우 'b', 정수의 경우 'i'등과 같이 변수의 첫 글자를 유형 표시로 사용합니다. 'm'은 자바일까요? 모바일 용인가요? 혼합? 답변 이 표기법은 AOSP (Android 오픈 소스 프로젝트) 기여자를위한 코드 스타일 가이드 라인 에서 가져 왔습니다. 필드 이름 지정 규칙 따르기 비공개, 비 정적 필드 이름은 m으로 시작합니다. 정적 필드 이름은 s로 시작합니다. 다른 필드는 소문자로 시작합니다. 공개 정적 최종 필드 (상수)는 ALL_CAPS_WITH_UNDER..

728x90
반응형