一名 95后 喜爱旅游、音乐 XXXL型号Android开发工程师。
yangmingchuan / wanandroidmaster Goto Github PK
View Code? Open in Web Editor NEW根据 http://www.wanandroid.com 提供api ,编写 包含 Material Design + MVP + Rxjava2 + Retrofit + Glide项目
根据 http://www.wanandroid.com 提供api ,编写 包含 Material Design + MVP + Rxjava2 + Retrofit + Glide项目
这个工具好像监听不到实时的网络状态吧!!
我在刚下载下来项目编译时出错,不知道什么原因,能帮帮忙吗?
Android Studio 版本:3.2
build gradle 3.2.0
应该与依赖的butterknife插件有关
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'packageForR' for task ':app:processDebugResources' of type com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask. at org.gradle.internal.metaobject.AbstractDynamicObject.getMissingProperty(AbstractDynamicObject.java:83) at org.gradle.internal.metaobject.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:61) at com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask_Decorated.getProperty(Unknown Source) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:174) at groovy.lang.Closure.getPropertyTryThese(Closure.java:312) at groovy.lang.Closure.getPropertyDelegateFirst(Closure.java:302) at groovy.lang.Closure.getProperty(Closure.java:287) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:50) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307) at butterknife.plugin.ButterKnifePlugin$_apply_closure1$_closure2$_closure3$_closure4.doCall(ButterKnifePlugin.groovy:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022) at groovy.lang.Closure.call(Closure.java:414) at groovy.lang.Closure.call(Closure.java:430) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:726) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:699) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:124) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:113) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:95) ... 108 more
请教一个问题: if (!currentFragment.isAdded())
getSupportFragmentManager().beginTransaction().remove(currentFragment).commit();
为什么判断了没有添加过currentFragment,还要去remove(currentFragment)
private void selectFragment(int index) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); Fragment currentFragment = fragmentList.get(index); Fragment lastFragment = fragmentList.get(lastIndex);// 上一次显示的Fragment lastIndex = index; ft.hide(lastFragment); if (!currentFragment.isAdded()) { getSupportFragmentManager().beginTransaction().remove(currentFragment).commit(); ft.add(R.id.frame_layout, currentFragment); } ft.show(currentFragment); ft.commitAllowingStateLoss(); }
Android resource linking failed
C:\Users\jinhu\Desktop\WanAndroidMaster\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2781: error: resource android:attr/fontVariationSettings not found.
C:\Users\jinhu\Desktop\WanAndroidMaster\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:2781: error: resource android:attr/ttcIndex not found.
error: failed linking references.
应该是缺少了2个资源文件...
In cn.white.ymc.wanandroidmaster:1.0:1.
cn.white.ymc.wanandroidmaster.ui.home.HomeActivity has leaked:
static BaseActivity.!(netEvent)!
↳ HomeActivity
Reference Key: c8d4c552-fe3f-4f6d-b4c7-019d71669e32
Device: Xiaomi Xiaomi MIX 2 chiron
Android Version: 8.0.0 API: 26 LeakCanary: 1.6.2 0ebc1fc
Durations: watch=5669ms, gc=134ms, heap dump=1176ms, analysis=4615ms
Details:
Class cn.white.ymc.wanandroidmaster.base.BaseActivity
| static $classOverhead = byte[4]@317498225 (0x12eca371)
| static netEvent = cn.white.ymc.wanandroidmaster.ui.home.HomeActivity@317493480 (0x12ec90e8)
Instance of cn.white.ymc.wanandroidmaster.ui.home.HomeActivity
| static $classOverhead = byte[4288]@317493817 (0x12ec9239)
| floatButton = android.support.design.widget.FloatingActionButton@317682920 (0x12ef74e8)
| fragmentList = java.util.ArrayList@317683536 (0x12ef7750)
| frameLayout = android.widget.FrameLayout@317683560 (0x12ef7768)
| lastIndex = 0
| mExitTime = 0
| mOnNavigationItemSelectedListener = cn.white.ymc.wanandroidmaster.ui.home.HomeActivity$1@317684208 (0x12ef79f0)
| navigation = android.support.design.widget.BottomNavigationView@317684224 (0x12ef7a00)
| toolbarCommon = android.support.v7.widget.Toolbar@317684896 (0x12ef7ca0)
| activity = cn.white.ymc.wanandroidmaster.ui.home.HomeActivity@317493480 (0x12ec90e8)
| appDavikActivityUtil = cn.white.ymc.wanandroidmaster.util.davik.AppDavikActivityUtil@317685672 (0x12ef7fa8)
| bun = cn.white.ymc.wanandroidmaster.ui.home.HomeActivity_ViewBinding@317685680 (0x12ef7fb0)
| context = cn.white.ymc.wanandroidmaster.base.MyApplication@317620144 (0x12ee7fb0)
| mDelegate = android.support.v7.app.AppCompatDelegateImplN@317685696 (0x12ef7fc0)
| mResources = null
| mThemeId = 2131624234
| mCreated = true
| mFragments = android.support.v4.app.FragmentController@317685840 (0x12ef8050)
| mHandler = android.support.v4.app.FragmentActivity$1@317685856 (0x12ef8060)
| mLoaderManager = null
| mNextCandidateRequestIndex = 0
| mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@317685888 (0x12ef8080)
| mReallyStopped = false
| mRequestedPermissionsFromFragment = false
| mResumed = true
| mRetaining = false
| mStopped = false
| mViewModelStore = null
| mStartedActivityFromFragment = false
| mStartedIntentSenderFromFragment = false
| mExtraDataMap = android.support.v4.util.SimpleArrayMap@317685912 (0x12ef8098)
| mLifecycleRegistry = android.arch.lifecycle.LifecycleRegistry@317685936 (0x12ef80b0)
| mActionBar = null
| mActionModeTypeStarting = 0
| mActivityInfo = android.content.pm.ActivityInfo@317685968 (0x12ef80d0)
| mActivityTransitionState = android.app.ActivityTransitionState@317686120 (0x12ef8168)
| mApplication = cn.white.ymc.wanandroidmaster.base.MyApplication@317620144 (0x12ee7fb0)
| mAutoFillResetNeeded = false
| mAutofillManager = null
| mAutofillPopupWindow = null
| mCalled = true
| mChangeCanvasToTranslucent = false
| mChangingConfigurations = false
| mComponent = android.content.ComponentName@317686176 (0x12ef81a0)
| mConfigChangeFlags = 0
| mCurrentConfig = android.content.res.Configuration@317686192 (0x12ef81b0)
| mDecor = com.android.internal.policy.DecorView@317456680 (0x12ec0128)
| mDefaultKeyMode = 0
| mDefaultKeySsb = null
| mDestroyed = false
| mDoReportFullyDrawn = false
| mEmbeddedID = null
| mEnableDefaultActionBarUp = false
| mEnterTransitionListener = android.app.SharedElementCallback$1@1872954312 (0x6fa303c8)
| mExitTransitionListener = android.app.SharedElementCallback$1@1872954312 (0x6fa303c8)
| mFinished = false
| mFragments = android.app.FragmentController@317686312 (0x12ef8228)
| mHandler = android.os.Handler@317686328 (0x12ef8238)
| mHasCurrentPermissionsRequest = false
| mIdent = 247401085
| mInstanceTracker = android.os.StrictMode$InstanceTracker@317686360 (0x12ef8258)
| mInstrumentation = android.app.Instrumentation@317686376 (0x12ef8268)
| mIntent = android.content.Intent@317686448 (0x12ef82b0)
| mInterceptor = miui.contentcatcher.InterceptorProxy@317511208 (0x12ecd628)
| mLastAutofillId = 1073741823
| mLastNonConfigurationInstances = null
| mMainThread = android.app.ActivityThread@317458968 (0x12ec0a18)
| mManagedCursors = java.util.ArrayList@317686520 (0x12ef82f8)
| mManagedDialogs = null
| mMenuInflater = null
| mParent = null
| mReferrer = "cn.white.ymc.wanandroidmaster"
| mResultCode = 0
| mResultData = null
| mResumed = true
| mSearchEvent = null
| mSearchManager = null
| mStartedActivity = false
| mStopped = false
| mTaskDescription = android.app.ActivityManager$TaskDescription@317686592 (0x12ef8340)
| mTemporaryPause = false
| mTitle = "WanAndroid"
| mTitleColor = 0
| mTitleReady = true
| mToken = android.os.BinderProxy@317682592 (0x12ef73a0)
| mTranslucentCallback = null
| mUiThread = java.lang.Thread@1930491856 (0x7310f7d0)
| mVisibleBehind = false
| mVisibleFromClient = true
| mVisibleFromServer = true
| mVoiceInteractor = null
| mWindow = com.android.internal.policy.PhoneWindow@317493112 (0x12ec8f78)
| mWindowAdded = true
| mWindowManager = android.view.WindowManagerImpl@317682832 (0x12ef7490)
| mInflater = com.android.internal.policy.PhoneLayoutInflater@317682016 (0x12ef7160)
| mOverrideConfiguration = null
| mResources = android.content.res.MiuiResources@317686632 (0x12ef8368)
| mTheme = android.content.res.Resources$Theme@317686680 (0x12ef8398)
| mThemeResource = 2131624234
| mBase = android.app.ContextImpl@317686696 (0x12ef83a8)
| shadow$klass = cn.white.ymc.wanandroidmaster.ui.home.HomeActivity
| shadow$monitor = -2000022903
Excluded Refs:
| Field: android.os.Message.obj
| Field: android.os.Message.next
| Field: android.os.Message.target
| Field: android.view.inputmethod.InputMethodManager.mNextServedView
| Field: android.view.inputmethod.InputMethodManager.mServedView
| Field: android.view.inputmethod.InputMethodManager.mServedInputConnection
| Field: android.view.inputmethod.InputMethodManager.mCurRootView
| Field: android.accounts.AccountManager$AmsTask$Response.this$1
| Field: android.view.accessibility.AccessibilityNodeInfo.mOriginalText
| Field: com.android.internal.policy.BackdropFrameRenderer.mDecorView
| Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always)
| Thread:FinalizerWatchdogDaemon (always)
| Thread:main (always)
| Thread:LeakCanary-Heap-Dump (always)
| Class:java.lang.ref.WeakReference (always)
| Class:java.lang.ref.SoftReference (always)
| Class:java.lang.ref.PhantomReference (always)
| Class:java.lang.ref.Finalizer (always)
| Class:java.lang.ref.FinalizerReference (always)」
—————————
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.