페이지

레이블이 오류인 게시물을 표시합니다. 모든 게시물 표시
레이블이 오류인 게시물을 표시합니다. 모든 게시물 표시

[안드로이드 스튜디오] AppCompatActivity 오류

안드로이드 스튜디오가 버젼 2.2 이나 2.3에서 3.2나 3.3 으로 업데이트되게 되면 기존에 프로젝트에서 사용하던 'AppCompatActivity' 가 붉은 색 오류로 뜨게 된다.


Cannot resolve symbol 'AppCompatActivity'

라고 뜨면서 build.gradle 파일을 업데이트 하거나

 implementation 'com.android.support:appcompat-v7:27.1.1'

프로젝트를 클린 빌드나 재 빌드 해도 해결 할수 없었다.





하지만 프로젝트를 닫고 해당 프로젝트 폴더에 들어가 .idea 폴더를 클릭, libraries 폴더의 이름을 변경하던지 삭제하면 된다.




이후 해당 프로젝트를 다시 불러오게 되면 자동으로 libraries 폴더가 생성되면서 오류가 해결된다.




참고링크



cannot be resolved or is not a field 오류

종종 큰 .java 문에 코드에 이상이 없으나  다음과 같은
xxxx  cannot be resolved or is not a field 오류가 뜰 경우다

1. R.java 의 문제.
- 복사하기 버튼으로 xml 코드를 만들 경우 종종 R.java 에 반영이 되지 못한다.
- 프로젝트를 닫고 다시 불러 오거나 xml 의 id를 다시 직접 타이핑 합니다

프로젝트 명에 빨간 느낌표 오류

프로젝트 명에 빨간색 느낌 코드에는 이상이 없는 데 빨간 느낌표가
있으며 디버그가 진행되지 않는다






계속해서 아래와 같이 에러를 뿜어낸다

이럴 경우 코드내부 문제보다는  
Build Path 경로 잘못이였다. 라이브러리 경로를 변경했던가 등의 문제로 일어나 경고 였다

아래 그림과 같이 오른쪽 마우스 클릭... Build Path  선택 configure Build Path를 열어보면



아래와 같이 잘 못된 라이브러리 등을 찾을 수 있다



Edit를 눌러 경로를 수정하거나 제거하면 빨간 느낌표가 사라진다.

ZygoteInit$MethodAndArgsCaller.run() 오류

디버깅 중  ZygoteInit$MethodAndArgsCaller 가 종종 발생한다.
대부분 오타이거나 
1. .xml 에 없거나 삭제된 버튼 및 텍스트 등 findViewById 를  java에서 불러오거나 
2. 지정되지 않는 findViewById 가 사용될 경우 발생하나

나 같은 경우는 
새로운 액티비티를 만든 후

AndroidManifest.xml 안에

        <activity
            android:name=".Activity_Homepage"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:label="@string/title_activity_activity__homepage" >
        </activity>

를 추가한다는 것을  종종 잊어버렸다


3. ZygoteInit$MethodAndArgsCaller.run() line:909 일경우

혹시 버튼 클릭에 Button1.setOnClickListener 구문을 사용하고 있다면 

액티비티에 implements OnClickListener 확장을 잊지 않았는 지 살펴본다



import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

import android.widget.Button;

public class Activity_Main extends Activity  implements OnClickListener  {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
......
}
}

[Kotlin] 안드로이드 내부저장소 캐시에 저장하기

안드로이드 내부에 임시적으로 데이터를 저장하기 위해 캐시에 저장한다. 따로 퍼미션이 필요없고 보안이 필요없는 부분에서 잠시 저장할 때 유리하다 내부적으로 저장소가 부족할때 자동으로 지워질수 있다는 경고 private fun saveCache(d...