분류 전체보기 (65) 썸네일형 리스트형 [안드로이드][프로젝트2] 투명한 Activity 만드는 방법 1. res/values에 styles.xml을 추가한다. 2. styles.xml에 아래 코드를 넣어준다. 3. AndroidManifest.xml에 투명하게 만들고자 하는 Activity에 앞서 만들어 둔 theme을 적용해준다. 이렇게 해서 완성했다! [안드로이드][프로젝트2] html 태그 없애는 법 네이버 검색 API를 가져왔더니 위의 왼쪽 사진과 같이 태그도 같이 나오게 되었다. 어떻게 해야 html 태그를 없앨 수 있을까? Html.fromHtml()메소드를 이용하자 나는 다음과 같이 코드를 짰다. String bookTitle = bookList.get(position).getTitle(); String bookDesc = bookList.get(position).getDescription(); //Set data holder.mTitleTv.setText(Html.fromHtml(""+bookTitle+"")); holder.mDescTv.setText(Html.fromHtml(bookDesc)); 이와 같이 짜면 오른쪽과 같이 나온다. [안드로이드][프로젝트2] TextView 긴 문자열 생략해서 표시하기 setEllipsize 메소드 이용하자. tv.setSingleLine(true); // 긴 텍스트를 한줄로 표시하기 tv.setEllipsize(TextUtils.TruncateAt.MARQUEE); // 텍스트가 잘릴경우(길 경우) 흐르게 만들기 tv.setSelected(true); // 해당 텍스트뷰가 선택된 것처럼 만들기 (선택되어야만 텍스트 흐르기 효과를 만들 수 있다.) tv.setEllipsize(TextUtils.TruncateAt.END); //...으로 생략 가능하다. 아래는 내가 실제로 적었던 코드다. holder.mTitleTv.setEllipsize(TextUtils.TruncateAt.MARQUEE); holder.mTitleTv.setSingleLine(true); holde.. [안드로이드][프로젝트2] 네이버 검색 API + RecyclerView + CardView+ Hanlder의 postDelayed 네이버 검색 API + RecyclerView + CardView를 이용하여 사진과 같이 정보가 나오길 바랐는데, 처음에 했을 때는 오류가 나왔다. 그래서 Log.d를 열심히 찍어가며 어디서 문제가 생기는 건지 봤고, 원인을 발견했다. 답은 네트워크 연결보다 array 불러오는 게 빨라서 안 됐던 것이었다. 그래서 array 불러오는 곳에다가 handler의 postDelayed 메소드를 이용하여 지연시켰더니 내가 원하는대로 나왔다. handler의 postDelayed 메소드 // 2초간 멈추게 하고싶다면 Handler handler = new Handler(); handler.postDelayed(new Runnable() { public void run() { // 하려는 것을 넣어주자. ㅎㅎ } .. [안드로이드][프로젝트2] android.os.NetworkOnMainThreadException 오류나는 이유 네이버 API 연결하다가 android.os.NetworkOnMainThreadException 오류가 났다. 위 에러는 안드로이드의 기본 activity에서 network 관련 API를 직접 사용했을때 발생한다. 해결방법 thread를 이용하자! 내가 만든 함수는 다음과 같다. public void searchNaver(final String searchObject) { // 검색어 = searchObject로 ; final String clientId = "클라이언트 아이디값";//애플리케이션 클라이언트 아이디값"; final String clientSecret = "클라이언트 시크릿값";//애플리케이션 클라이언트 시크릿값"; final int display = 5; // 보여지는 검색결과의 수 //.. [안드로이드][프로젝트1]SharedPreferences를 이용하여 인트로 화면에서 바로 홈으로 넘어가기 기존 방식은 인트로 화면-> 웰컴 화면-> 로그인 화면 -> 홈 순으로 들어가는 방식이다. 그러나 나는 로그인 화면에서 아이디 저장에 체크가 되어 있다면 다음 앱 시작시, 인트로 화면 -> 홈 방식으로 들어가게 하고 싶었다. 내가 한 방법은 다음과 같다. 1. 레이아웃에 체크박스 추가하기. 2. 로그인 화면 Activity에 다음과 같이 추가한다. CheckBox checkBox; SharedPreferences appData; private boolean saveLoginData; private String id; private String pwd; 3. onCreate에서 다음과 같이 추가한다. checkBox = findViewById(R.id.checkBox); //설정값 불러오기 appData .. [안드로이드][프로젝트1] 내가 MPAndroid X axis 값을 날짜와 시간으로 변환한 방법(firebase 연동) 1. DataPoint 클래스의 xValue를 long값으로 바꿔준다. public class DataPoint { long xValue; int yValue; public DataPoint(long xValue, int yValue) { this.xValue = xValue; this.yValue = yValue; } public DataPoint(){ } public long getxValue() { return xValue; } public int getyValue() { return yValue; } } 참고:https://youtu.be/WcwhZztfY2g 2. SimpleDateFormat 지정해주자. SimpleDateFormat sdf = new SimpleDateFormat("MM-dd.. [프로젝트1][안드로이드] 내가 Firebase와 연동한 상태로 MPAndroidchart 를 이용하여 Line Chart를 만든 법 0. gradle 환경 설정은 필수. 1.RegisterActivity와 MainActivity(로그인 액티비티)에 다음 문구를 추가한다. hashMap.put("ChartValues",""); // will add later 2. fragment_calendar.xml 레이아웃을 다음과 같이 짜준다. 3. DataPoint 클래스를 만들어준다. public class DataPoint { int xValue, yValue; public DataPoint(int xValue, int yValue) { this.xValue = xValue; this.yValue = yValue; } public DataPoint(){ } public int getxValue() { return xValue; } publi.. [안드로이드][프로젝트1] MPAndroidChart를 활용한 LineChart 사용 1. settings.gradle에 다음 코드를 추가하고 싱크를 맞춰준다. maven { url 'https://jitpack.io' } 2. build.gradle(모듈)에 다음 코드를 추가하고 싱크를 맞춰준다. implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' 3. layout의 xml 파일에 다음 코드를 추가한다. 4. activity에 다음 코드를 추가한다. import android.graphics.Color; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.github.mikephil.charting.charts.LineChart; im.. [프로젝트1] DeleteAccount한 방법 1. HomeActivity에 다음과 같이 써준다. @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { //handle item clicks switch (item.getItemId()) { //생략 case R.id.menu_deleteAccount: showDeleteDialog(); return true; } return false; } 2. values -> strings에 다음과 같이 넣어준다. Yes Cancel 3. 다이얼로그를 불러준다. private void showDeleteDialog(){ //show dialog containing options camera and Gallery to pick the.. 이전 1 2 3 4 5 6 7 다음