나만의 앱을 만들고 싶어서 고민을 하다
유입성도 좋고 1인 개발로 하기 쉬운
로또 앱을 선택했다.
플레이 스토어에서 로또 앱들 구경을 해보니 퀄리티 높은 앱들이 많았다.
그래서 디자인쪽으로 컨셉을 잘 잡자라고 생각 하여
귀엽고 깔끔한 인터페이스를 중점으로 만드려고 했다!!
아래 bottomNavigationView로 화면 전환을 할 수 있도록 하였다.
그리고 화면 전환 부분은 Activity로 각 개별 화면을 만드는 것이 아니라
Fragment로 Activity위에 띄우는 식으로 했다.
listView 보단 recyclerView를 이용하는게 좋다길래 (책에서)
더 복잡하지만 해당 방식으로 했다.
기존 다른 로또 앱들 보면 리스트에 아무 항목도 없을 때
텍스트 뷰를 띄우길래 어떻게 해야될까 고민 했는데
구글링 해보니까 너무 복잡한 거 같아
약간 꼼수로 생성한 데이터를 저장한 ArrayList에 아무 항목도 없을 때
textView.setVisibility(list.size() > 0 ? textView.GONE : textView.VISIBLE);
코드를 적용하니 쉽게 해결 됐다
참고하면 좋을 듯!!
FloatingButton으로 메서드를 구현했는데
버튼을 눌렀을 때
FloatingActionButton fab = rootView.findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TreeSet<Integer> set = new TreeSet<>();
while(set.size() < 6){
int random = new Random().nextInt(45); // 랜덤 번호 생성 코드
set.add(random); // 리스트에 추가하는 코드
}
ArrayList Aset = new ArrayList(set); // treeSet => arrayList로 변환
// 생성 번호에 맞는 해당 로또 공 이미지 가져오기
int tmpId1 = getResources().getIdentifier(
"lotto" + ((Integer)Aset.get(0) + 1), "drawable", getActivity().getPackageName());
int tmpId2 = getResources().getIdentifier(
"lotto" + ((Integer)Aset.get(1) + 1), "drawable", getActivity().getPackageName());
int tmpId3 = getResources().getIdentifier(
"lotto" + ((Integer)Aset.get(2) + 1), "drawable", getActivity().getPackageName());
int tmpId4 = getResources().getIdentifier(
"lotto" + ((Integer)Aset.get(3) + 1), "drawable", getActivity().getPackageName());
int tmpId5 = getResources().getIdentifier(
"lotto" + ((Integer)Aset.get(4) + 1), "drawable", getActivity().getPackageName());
int tmpId6 = getResources().getIdentifier(
"lotto" + ((Integer)Aset.get(5) + 1), "drawable", getActivity().getPackageName());
Ball setBall = new Ball(tmpId1, tmpId2, tmpId3, tmpId4, tmpId5, tmpId6);
list.add(setBall);
//빈화면 아닐 때
textView.setVisibility(list.size() > 0 ? textView.GONE : textView.VISIBLE);
dataAdapter.notifyDataSetChanged();
recyclerView.setAdapter(dataAdapter);
}
});
위와 같이 작성했다.
글이 길어질 거 같아서
다음 페이지에서 이어서 작성하겠다!
오늘 2월 24일 플레이 스토어에 등록 했으니
검토 기간 길게 잡아 일주일 정도 후에 앱이 출시 될 거 같다 ㅎㅎ
'개발' 카테고리의 다른 글
[Spring Boot] 스프링부트 환경세팅 후 웹페이지 실행 (0) | 2023.02.09 |
---|---|
[안드로이드] Retrofit 연결하기 (0) | 2021.05.30 |
🌴리액트) 책보며 따라만든 영화웹서비스 (0) | 2020.08.31 |
📖리액트) open api 이용하기 (0) | 2020.08.28 |
리액트) map() 함수 (0) | 2020.08.23 |