'android'에 해당되는 글 5건

  1. 2021.03.31 TI-89 emulator 1
  2. 2021.02.21 Graph 89-free 다시 build하기 2
  3. 2020.11.18 android 공학용 계산기 비교. 2
  4. 2020.03.08 AutoValue
  5. 2009.04.08 android 컴파일 중 struct mediasighandler sighandler

TI-89 emulator

계산기 2021. 3. 31. 23:37 posted by tolkien

이전 포스트 - https://tinuviel.tistory.com/1060

Graph89 free source를 build해서 migration해서 쓰다가 찾아낸 porting bug.

 

- android 11에서 take_screenshot을 실행하면 app이 죽는다.

 

원인은 android 11에서 media file 처리하는 방법이 바뀐 것때문이다. android 11에서는 app들간 파일을 공유하도록 하려면 MediaStore을 사용해야 한다. 그럭저럭 S20에서 돌아가게 한 다음에 다른 device에서 test해보니 android 8.1.0에서 또 안됨. web으로 관련자료를 뒤져보니까 google에서 media 처리관련 잦은 변경사항때문에 media file 처리가 꽤 난해한 것같다라는 글을 있었다.

어쨌든 이것도 오늘 fix up. 첨부 파일은 screenshot 기능을 fix한 graph89-free.apk.

(2021/03/31 기존 source code에 있었던 AmbilwarnaPreference(Color Picker) class와 custom SeekBarPreference.java를 제거한 version으로 다시 올립니다. 이걸로 최신 android와의 최소한의 호환성은 확보한 것같습니다.)

graph89-free_release2.apk
7.86MB
TI89Titanium_OS.89u
1.34MB

Graph 89-free 다시 build하기

계산기 2021. 2. 21. 21:42 posted by tolkien

 계산기에 대해서 살짝 열중하고 있는 와중에 나를 홀딱 반하게 한 계산기가 TI-89 이다.

 정확히 말하면 계산기 껍데기를 쓴 휴대용 컴퓨터이다. 제공하는 기능만 따지면 휴대폰보다 더 쓸고있는 물건(?)이라고 생각한다. 그래서, TI-89의 기능을 다 공부한 다음에 다음 타겟은 같은 회사에서 나온 voyage 200. 이것은 키보드가 달려있는 TI-89라고 생각해도 된다. 헌데 외양이 계산기답지 않아서 천대받고 있는 천덕꾸러기.

 이것을 휴대폰에서 돌릴 수 있게하는 emulator중에서 제일 좋은 것이 Graph 89-free라고 생각한다. Free version의 경우, TI-89만 돌릴 수 있다.

 그런데, 이것을 작성하신 분은 Dritan Hashorva라는 인도(?) 사람으로 추정되는 개발자.이고, 개발을 2013년 10월에 멈추고 source license를 GPLv2로 변경하고, code를 bitbucket에 올렸다. 그리고, 더 이상 update가 없다.

 그걸 받아다가 android studio 4.1.2에서 build되게 하고, galayx S20까지 설치 test까지 해서 수정한 code를 내 개인 github에 올렸다. android studio 4.1.2로 migration은 자동으로 되었고, 여기에 살짝 warning 정도를 제거한 것이 전부.

 내가 build한 binary는 여기에 첨부한다. (google play에는 Dritan이 올린 것이 있으므로)

graph89-free_debug.apk
6.94MB

android 공학용 계산기 비교.

오늘은... 2020. 11. 18. 15:00 posted by tolkien

대학 시험을 보기 위해서 공학용 계산기를 샀다. (이전글)

그걸로 1년간 시험 잘 봤고, 올해는 COVID-19 덕분에 놀고 있다.

간신히 익혔던 사용법을 잊어먹을까봐 설명서를 보다가 휴대전화기에 있는 계산기를 공학용 계산기 app으로 바꾸면 손에 익을까. 생각해서 검색해서 몇개 후보를 추렸다. 이전에 언급 써봤던 Wabbitemu 는 Ti-84 plus 공학계산기 app인데, 입력반응이 너무 늦어서 쓸게 못되고, 다른 많은 app들이 있는데 광고, 인앱구매.가 거슬려서 특별히 좋다는 느낌이 아니면 제외했다.

 

첫째는 Free scientific calculator plus advanced 991 calc

 

Free scientific calculator plus advanced 991 calc - Apps on Google Play

Scientific calculator 300 plus, 991 is the calculator for students and engineering student. Calculator 991 plus provides powerful functions in a real calculator 991 300 . It makes advanced calculator 991 become the most useful calculator for university and

play.google.com

 Casio fx-991ES Plus를 기반으로 확장한 형태이다. 장점은 fx-991ES Plus 설명서를 보고 그대로 써도 되고, 반응도 나쁘지 않다. 몇몇 계산 기능은 더 좋다. 게다가 원래 계산기에 없는 Graphing 기능까지 있어서 몇몇 블로그에서 추천받기도 했다. 내가 가지고 있는 유니원 UC-600E 사용법도 호환이 되어서 나쁘지 않다. 광고는 확장 기능 사용시 화면 위에 살짝 나오는 수준이라서 참을만하다. 허나 단점은 확장기능에 대한 설명이 app내 도움말이나 유투브의 무뚝뚝한 동영상 하나.라는 점이다. 그리고, fx-991ES plus와 기능이 동일하지 않아서 공학용 계산기를 손에 익히자.라는 부가적인 목적에 맞지 않는 것같다.

 

둘째는 Graph 89 Free

 

Graph 89 Free - Google Play 앱

Graph 89 - Emulator for the TI-89 graphing calculator. The ROM image is not included. You need to extract this from you own calculator. Make sure you have the ROM ready before downloading this emulator.

play.google.com

이건 Ti-89 공학용 계산기 emulator인데, Wabbitemu와 달리 반응성이 좋다. 유료구매하면 Ti-84 plus도 지원한다고 한다. 실제 공학용 계산기를 그대로 구현했다는 점. 그로 인해서 사용법이나 관련 정보가 풍부하다(?)는 점. (Ti-89 for dummies도 있다!) 그래서, 공학용 계산기를 익히는데 상당한 도움이 될 것같다. 가장 큰 단점은 Ti-84 plus, Ti-89가 오래된 계산기(cpu가 무려 8bit Z-80이다.)인데다가 아직도 비싸다!(거의 17만원정도). 거기서 약간 보태면 같은 회사에서 나온 최신 공학용 계산기인 NSpire II CAS를 살 수 있다. (이건 22만원, 그리고, android emul app이 아직 없는 것같다.)

 

어쨌든 내 선택은 Ti-89. 왜냐면

 첫째, Ti-89 계산기를 배울 수 있는 자료가 너무 많다. (Ti-89 for dummies로 시작하려고 한다.)

 둘째, source가 공개되어 있다. (free version이긴 하지만).

 셋째, 기능이 너무 세련된 Casio 공학계산기를 공부하기에는 너무 심심해서?

 

AutoValue

Personal Computer/Linux 2020. 3. 8. 19:37 posted by tolkien

facebook을 보다가 AutoValue Cursor에서 bug patch를 했다는 아는 사람의 글을 보고,

뭔가 하고 시간을 내서 찾아봤다.

java에서 상수와 같은 값을 Static class로 선언해 쓰는 경우, 그에 따른 코드 작성하는 부담을 덜어주는 tool이다.

android에서는 gradle에 추가해서 쓰면 된다고 한다.

 

그에 대한 자세한 설명은 다른 분들이 적어놨으므로 link만 인용한다.

[Android] @AutoValue 에 대하여.

[Java] Autovalue 라이브러리 사용하기

 

github에 있는 google의 설명 및 code

AutoValue에 대한 presentation

 

 

컴파일중 ${GIT_ROOT}/external/opencore/oscl/oscl/osclio/src/oscl_file_native.h에서
struct mediasigbushandler의 타입이 정의 되지 않았다고 에러가 난다.
무식하게 grep으로 찾아도
mediasigbushandler를 정의한 곳은 보이지 않는다.

google에게 신탁을 청해보니 다음과 같은 link를 툭. 떨궜는데..
opencore build failure in oscl_file_async_read.cpp
결론은 아직 repo에 제대로 된 fix는 등록이 되지 않았다는거다.
좀 더 따라가 보면 그런 경우에는 media player가 제대로 동작하지 않는다는 얘기도 있고,
하지만, SDK에서는 잘 되지 않나? google에서 아직 code를 제대로 release 안했다는건가?

마지막으로, 왜 omap-android는 build가 될까?