Qiitanium is an unofficial Android application of Qiita

Related tags

Layout Qiitanium
Overview

Qiitanium

icon

An unofficial Android application of technical information sharing service Qiita for programmers. (Article most of Japanese)

About Qiitanium GIF

Try out the application on the Play Store.

Get it on Google Play

Build


$ git clone https://github.com/ogaclejapan/Qiitanium
$ cd Qiitanium
$ ./gradlew installDebug

LICENSE

Copyright (C) 2014 ogaclejapan.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • Loadmore right after Pull to refresh

    Loadmore right after Pull to refresh

    リストをpullした直後にloadmoreすると、アイテムが複製(duplicated?!)される場合があります。おそらく、ロードする時、アイテムリストをsynchronizeしなかったわけ?

    あと、僕自分もQiitaクライアントを作ってますが、markdownの表示がうまく進めないためで止まってしまいます。Ogacleさんの解決方法(jsoup + html)は本当にすごい(simple, yet powerful/beautiful)ので、アイデアを借りて自分のものを完成させていただきたいと思います。

    opened by eneim 2
  • Update README.md

    Update README.md

    Replace broken google_play_store_badge url with the one that shows the badge with appropriate size; http://www.android.com/images/brand/get_it_on_play_logo_large.png

    opened by shoheikawano 1
  • Comment out AppActivity#getColor(@ColorRes int resId) method to prevent app crash

    Comment out AppActivity#getColor(@ColorRes int resId) method to prevent app crash

    This revision fixes #4.

    I have commented out AppActivity#getColor(@ColorRes int resId) method to prevent app from crashing right after it launches on Nexus 5 Android M preview. (Not sure if it occurs in other environment as well.)

    I'm guessing that a method with the same signature has been added to Context class in preview version so that it conflicts with the method above and causes app to crash.

    info

    • I've only confirmed that the app does not crash on Nexus 5 Android M preview with this revison.
    opened by shoheikawano 1
  • App crash right after launch

    App crash right after launch

    The app crashes right after I launch it on Nexus 5 Android M preview. (Not sure if it occurs in other environment as well.)

    Below is the crash log I got when the app crashes:

    08-09 02:46:35.398  19335-19335/com.ogaclejapan.qiitanium.dev E/AndroidRuntime﹕ FATAL EXCEPTION: main
        Process: com.ogaclejapan.qiitanium.dev, PID: 19335
        java.lang.LinkageError: com.ogaclejapan.qiitanium.presentation.activity.BootActivity
                at dalvik.system.DexFile.defineClassNative(Native Method)
                at dalvik.system.DexFile.defineClass(DexFile.java:226)
                at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
                at dalvik.system.DexPathList.findClass(DexPathList.java:338)
                at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477)
                at android.app.ActivityThread.-wrap11(ActivityThread.java)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345)
                at android.os.Handler.dispatchMessage(Handler.java:102)
                at android.os.Looper.loop(Looper.java:148)
                at android.app.ActivityThread.main(ActivityThread.java:5415)
                at java.lang.reflect.Method.invoke(Native Method)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615)
    
    opened by shoheikawano 0
  • Update for API version 25

    Update for API version 25

    This PR fixes issue when latest Android Studio didn't compile immediately and not compile when go along with wizard of Android Studio.

    In particular:

    • Update android build tools version
    • Update gradle version
    • Update compile sdk version
    • Update support library version
    • Fix compile error
    • In addition, replace android-apt to integrated annotationProcessor method.
    opened by keima 0
  • LeakCanary reporting a leak in ArticleFragment

    LeakCanary reporting a leak in ArticleFragment

    Hello, I apologize in advance -- if this is not the right venue to report the issue and ask for help. I am using your application to teach myself android programming. I think your application combines best architecture practices (clean architecture concept) with the good use of Dagger 2 and Rx programming techniques -- that are necessary to build industrial strength android apps.

    As I progress through the code, I noticed that LeakCanary is reporting leaks (this one below happens simply after clicking on a particular article and then going back (clicking the back button on top a few times).

    Would like to ask if you had observed this behaviour in your development environment and and if yes, what did you attribute this leak to?

    thank you in in advance


    12-27 00:38:21.987 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 49.651ms 12-27 00:38:22.088 4353-4380/com.ogaclejapan.qiitanium.dev I/art: Explicit concurrent mark sweep GC freed 2037(120KB) AllocSpace objects, 1(36KB) LOS objects, 8% free, 21MB/23MB, paused 3.903ms total 126.901ms 12-27 00:38:34.911 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 104.984ms 12-27 00:38:36.048 4353-9002/com.ogaclejapan.qiitanium.dev D/LeakCanary: In com.ogaclejapan.qiitanium.dev:0.2.1-dev:4. * com.ogaclejapan.qiitanium.presentation.fragment.ArticleFragment has leaked: * GC ROOT static com.ogaclejapan.qiitanium.domain.model.Users.instances * references java.util.WeakHashMap.elementData * references array java.util.WeakHashMap$Entry[].[3] * references java.util.WeakHashMap$Entry.value * references com.ogaclejapan.qiitanium.domain.model.User.thumbnailUrl * references com.ogaclejapan.rx.binding.RxProperty.subject * references rx.subjects.BehaviorSubject.state * references rx.subjects.SubjectSubscriptionManager.state * references rx.subjects.SubjectSubscriptionManager$State.observers * references array rx.subjects.SubjectSubscriptionManager$SubjectObserver[].[3] * references rx.subjects.SubjectSubscriptionManager$SubjectObserver.actual * references rx.observers.SafeSubscriber.actual * references rx.Observable$33.val$observer (anonymous class extends rx.Subscriber) * references com.ogaclejapan.rx.binding.RxProperty.subject * references rx.subjects.BehaviorSubject.state * references rx.subjects.SubjectSubscriptionManager.state * references rx.subjects.SubjectSubscriptionManager$State.observers * references array rx.subjects.SubjectSubscriptionManager$SubjectObserver[].[0] * references rx.subjects.SubjectSubscriptionManager$SubjectObserver.actual * references rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.child * references rx.observers.SafeSubscriber.actual * references rx.Observable$32.val$onNext (anonymous class extends rx.Subscriber) * references com.ogaclejapan.rx.binding.RxWeakRef$1.val$action (anonymous class implements rx.functions.Action1) * references com.ogaclejapan.qiitanium.presentation.fragment.ArticleAboutFragment$1.this$0 (anonymous class extends com.ogaclejapan.rx.binding.RxAction) * references com.ogaclejapan.qiitanium.presentation.fragment.ArticleAboutFragment.viewModelHolder * references com.ogaclejapan.qiitanium.presentation.activity.ArticleActivity.fragmentManager * references android.app.FragmentManagerImpl.mAdded * references java.util.ArrayList.array * references array java.lang.Object[].[0] * leaks com.ogaclejapan.qiitanium.presentation.fragment.ArticleFragment instance 12-27 00:38:36.076 4353-4380/com.ogaclejapan.qiitanium.dev I/art: hprof: heap dump "/data/data/com.ogaclejapan.qiitanium.dev/files/suspected_leak_heapdump.hprof" starting... 12-27 00:38:39.225 4353-4380/com.ogaclejapan.qiitanium.dev I/art: hprof: heap dump completed (33MB) in 3.148s 12-27 00:38:39.238 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityStarted 12-27 00:38:39.238 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityResumed 12-27 00:38:39.275 4353-4418/com.ogaclejapan.qiitanium.dev W/EGL_emulation: eglSurfaceAttrib not implemented 12-27 00:38:39.275 4353-4418/com.ogaclejapan.qiitanium.dev W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa1703520, error=EGL_SUCCESS 12-27 00:38:39.479 4353-4380/com.ogaclejapan.qiitanium.dev I/art: Explicit concurrent mark sweep GC freed 5787(400KB) AllocSpace objects, 0(0B) LOS objects, 15% free, 21MB/25MB, paused 18.195ms total 191.144ms 12-27 00:38:40.010 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 314.460ms 12-27 00:38:43.811 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityPaused 12-27 00:38:44.000 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivitySaveInstanceState 12-27 00:38:44.001 4353-4353/com.ogaclejapan.qiitanium.dev D/AppActivityLifecycleCallbacks: com.ogaclejapan.qiitanium.presentation.activity.TopActivity@148819d6 ⟳ onActivityStopped 12-27 00:38:44.362 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 134.083ms 12-27 00:38:45.352 4353-4361/com.ogaclejapan.qiitanium.dev W/art: Suspending all threads took: 21.056ms

    bug 
    opened by vladp 1
Owner
ogaclejapan
ogaclejapan
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component.

Draggable Panel DEPRECATED. This project is not maintained anymore. Draggable Panel is an Android library created to build a draggable user interface

Pedro Vicente Gómez Sánchez 3k Jan 5, 2023
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.

Bubbles for Android Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your

Txus Ballesteros 1.5k Jan 2, 2023
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube New graphic component.

Please switch to DragView, for the best support, thank you DraggablePanel Download allprojects { repositories { ... maven { url 'https://jitp

Hoàng Anh Tuấn 103 Oct 12, 2022
FixedHeaderTableLayout is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells with scrolling and zooming features. FixedHeaderTableLayout is similar in construction and use as to Android's TableLayout

FixedHeaderTableLayout is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells with scrolling and zooming features. FixedHeaderTableLayout is similar in construction and use as to Android's TableLayout

null 33 Dec 8, 2022
A wave view of android,can be used as progress bar.

WaveView ![Gitter](https://badges.gitter.im/Join Chat.svg) A wave view of android,can be used as progress bar. Screenshot APK demo.apk What can be use

Kai Wang 1.3k Dec 28, 2022
An Android Layout which has a same function like https://github.com/romaonthego/RESideMenu

ResideLayout An Android Layout which has a same function like https://github.com/romaonthego/RESideMenu. Can be used on Android 1.6(I haven't try it.)

Yang Hui 392 Oct 12, 2022
An Android library that help you to build app with swipe back gesture.

SwipeBackLayout An Android library that help you to build app with swipe back gesture. Demo Apk GooglePlay Requirement The latest android-support-v4.j

ike_w0ng 6.1k Dec 29, 2022
TileView is a subclass of android.view.ViewGroup that asynchronously displays, pans and zooms tile-based images. Plugins are available for features like markers, hotspots, and path drawing.

This project isn't maintained anymore. It is now recommended to use https://github.com/peterLaurence/MapView. MapView is maintained by Peter, one of o

Mike Dunn 1.5k Nov 21, 2022
Ultra Pull to Refresh for Android. Support all the views.

Welcome to follow me on GitHub or Twitter GitHub: https://github.com/liaohuqiu Twitter: https://twitter.com/liaohuqiu 中文版文档 Wanna auto-load-more? This

Huqiu Liao 9.6k Jan 5, 2023
SwipeBack is an android library that can finish a activity by using gesture.

SwipeBack SwipeBack is a android library that can finish a activity by using gesture. You can set the swipe direction,such as left,top,right and botto

Eric 1.7k Nov 21, 2022
A very simple arc layout library for Android

ArcLayout A very simple arc layout library for Android. Try out the sample application on the Play Store. Usage (For a working implementation of this

ogaclejapan 1.4k Dec 26, 2022
Android layout that simulates physics using JBox2D

PhysicsLayout Android layout that simulates physics using JBox2D. Simply add views, enable physics, and watch them fall! See it in action with the sam

John Carlson 689 Dec 29, 2022
Android component which presents a dismissible view from the bottom of the screen

BottomSheet BottomSheet is an Android component which presents a dismissible view from the bottom of the screen. BottomSheet can be a useful replaceme

Flipboard 4.5k Dec 28, 2022
Allows the easy creation of animated transition effects when the state of Android UI has changed

android-transition Android-Transition allows the easy creation of view transitions that reacts to user inputs. The library is designed to be general e

Kai 615 Nov 14, 2022
Stale Android Toasts made tasty.

FrenchToast Stale Android Toasts made tasty. Android Toasts are amazing, but they have a few major drawbacks: You cannot control when they show up as

py - Pierre Yves Ricau 367 Nov 15, 2022
waveview for android

中文介绍 WaveView A view to display wave effect. Screenshot Integration implementation 'com.gelitenight.waveview:waveview:1.0.0' Setter methods: setWaveS

NIGHT 1.6k Dec 21, 2022
An Android demo of a foldable layout implementation. Engineered by Vincent Brison.

Foldable Layout This code is a showcase of a foldable animation I created for Worldline. The code is fully written with java APIs from the Android SDK

Worldline 599 Dec 23, 2022
Flexbox for Android

FlexboxLayout FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android. Installation Add

Google 17.7k Jan 2, 2023
A floating menu library for Android.

Hover Hover is a floating menu implementation for Android. Goals The goals of Hover are to: Provide an easy-to-use, out-of-the-box floating menu imple

Google 2.7k Dec 27, 2022