小编ser*_*nka的帖子

n模块打破了npm

在我从一个node.js版本切换到另一个n模块 - https://github.com/visionmedia/n/后,我的npm被打破了......

MacBook-Pro-Dmitri:~ dmitri$ npm --version

module.js:340
    throw err;
          ^
Error: Cannot find module 'npmlog'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at /usr/local/bin/npm:19:11
    at Object.<anonymous> (/usr/local/bin/npm:87:3)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
Run Code Online (Sandbox Code Playgroud)

然后我再次安装npm,因为它在这里建议 - https://github.com/visionmedia/n/issues/101

curl https://npmjs.org/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

npm开始工作..

但后来我为节点版本做了另一个开关:

n 0.8.22
Run Code Online (Sandbox Code Playgroud)

和npm现在再次被打破同样的错误.

这非常烦人..我需要在每个版本切换后手动安装npm吗?!

javascript versioning node.js npm

14
推荐指数
1
解决办法
2970
查看次数

如何暂停/恢复片段

背景:我写了一个自定义容器,它能够容纳三个片段.根据此容器的状态,只能看到两个或三个碎片.为了通知片段他们的可见性已更改,我尝试了两个选项:

  1. 我用各自的值调用了Fragment.setUserVisibleHint()方法.托管片段覆盖此方法并做出适当反应.这样就解决了.

  2. 我调用了FragmentTransaction.hide()FragmentTransaction.show()方法来隐藏和显示片段.托管片段覆盖Fragment.onHiddenChanged()并根据需要进行响应.这也解决了.

我的问题是我对这些选项中的任何一个都不满意.我想将不可见的片段置于标准的暂停状态.这个选项的优点是我保持代码干净简单,因为我不需要覆盖任何特殊方法(如setUserVisibleHint()onHiddenChanged()),我可以处理内部的所有内容onPause()onResume()已经实现的内容.

问题:将片段置于暂停状态然后从该状态恢复的正确方法是什么?

更新:我也试过了FragmentTransaction.detach().这不是一个选项,因为它会破坏视图,这在我的情况下是不允许的.

android android-fragments

11
推荐指数
1
解决办法
7519
查看次数

Android:本机代码可以从Android系统获得广播意图吗?

最近我见过一个有趣的应用程序 - Photo Wonder.卸载此应用程序时,它会显示一个Web调查页面,询问应用程序卸载的原因.现在,这是问题所在.据我所知,在删除应用程序后,系统会广播ACTION_PAKAGE_REMOVED意图.但这个有趣的应用程序能够显示我的网页,虽然官方文档说 "正在安装的软件包没有收到此意图." 无论如何,我可以找到一个检查应用程序某种状态的进程.

现在问题就在这里.本机应用程序可以从android系统捕获广播的意图吗?如果有可能,请告诉我如何!:-(

android native-code android-intent

10
推荐指数
1
解决办法
7171
查看次数

如何在eclipse中折叠注释

javadoc在课堂上写了很多评论,每个函数都有很大的描述.当我打开课程时,向下滚动所有这些评论是不方便的.

是否有折叠所有评论的快捷方式?我尝试用Ctrl+ Shift+ /它不起作用:(.

编辑:如果工作区中有任何错误,大多数键盘快捷方式都不起作用.我没有错.

eclipse shortcuts

10
推荐指数
2
解决办法
6764
查看次数

Android NDK构建,方法无法解决

我有一个带有本机代码的Android项目.我可以通过调用ndk-build命令从命令行构建本机代码,没有错误或警告.但是当我在ADT中打开它时会显示以下错误.

在此输入图像描述

错误消息:项目中Method CallStaticIntMethod could not be resolved.有许多类似错误的文件.

我仔细检查了配置,这就是我所拥有的.Android构建,工具链和包含已正确配置(参见下面的图片)

在此输入图像描述

在此输入图像描述

在此输入图像描述

必需的包含在Project Explorer中也可见,并且它们是有效的(非空并指向正确的头文件).

在此输入图像描述

但是当我Clean和项目一起Build时,错误仍然存​​在.关于如何解决这个问题的任何想法?

配置:ADT 22.6.2,NDK r9d(64位),OSX 10.9.2

eclipse android adt android-ndk ndk-build

9
推荐指数
1
解决办法
5707
查看次数

Canvas.drawArc()artefacts

我在自定义视图中在画布上绘制弧,如下所示.Paint并且为了简单起见,在那里rectangle定义onDraw()并添加在那里.

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    RectF rectangle = new RectF(60f, 60f, 480f, 480f);

    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setColor(0x40000000);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(120);

    canvas.drawArc(rectangle, 225f, 315f, false, paint);
}
Run Code Online (Sandbox Code Playgroud)

当我使用4.3在Galaxy Nexus上运行此代码时,会出现以下人工制品. 在此输入图像描述

但是在使用4.4.4的Nexus 5上运行时没有这样的假象. 在此输入图像描述

我通过像(225f,315f)这样的角度和一些其他角度来观察这些假象.大多数情况下,弧形具有正确的形状.

有没有办法避免这些文物?

更新:我尝试使用软件,硬件和无图层setLayerType().人工制品改变了形式,但仍然存在.

android android-custom-view android-canvas

8
推荐指数
1
解决办法
1265
查看次数

Android共享元素转换,错误的起始位置

我有一个如下图所示的布局

在此输入图像描述

其中橙色框架是HostFragment这样的:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@id/coordinator"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <android.support.design.widget.AppBarLayout
        android:id="@id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

            <android.support.v7.widget.Toolbar
                android:id="@id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                app:titleMarginStart="68dp"
                />

            <de.halfbit.audiopie.ui.common.views.SlidingTabs
                android:id="@id/tabs"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:slidingTabsIndicatorColor="@color/accent"
                />

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

而蓝框是一个ItemsFragment带有a 的孩子RecyclerView.

当我点击我的瓷砖RecyclerView替换HostFragment另一个ContentFragment片段时,假设共享点击的图像.我是通过应用共享元素转换来实现的,如下所示:

FragmentManager fm = getChildFragmentManager();
Fragment fragment = ContentFragment.newInstance();

AutoTransition autoTransition = new AutoTransition();
autoTransition.setDuration(3000);
fragment.setSharedElementEnterTransition(autoTransition);

fm.beginTransaction()
    .replace(R.id.library, fragment)
    .addSharedElement(view, "cover")
    .commit();
Run Code Online (Sandbox Code Playgroud)

它可以正常工作:当ContentFragment中的动画开始时,封面图块的初始位置是错误的(参见此屏幕投射视频) - 它具有不希望的底部偏移.

在视觉上,此偏移量看起来等于标签栏的高度HostFragment.你们有没有想过如何避免这种偏移? …

android android-animation android-transitions

7
推荐指数
1
解决办法
1238
查看次数

Android Studio添加了libraries.iml文件

我已经按照Gradle插件用户指南的建议为Android Studio中的Android项目创建了一个Multi项目设置.是我的文件结构

MyProject/
 | settings.gradle
 | build.gradle
 | MyProject.iml
 + app/
    | build.gradle
    | app.iml
 + libraries/
    + lib1/
       | build.gradle
       | lib1.iml
Run Code Online (Sandbox Code Playgroud)

有三个模块在这种配置中- MyProjects.iml,app.imllib1.iml.尽管一切正常并且项目构建成功,但它有一个恼人的问题.Android Studio不断libraries.imllibraries文件夹下创建文件,并使该文件夹成为模块.

这就是问题的原因.这是一种正常的行为 - 如果不是 - 如何摆脱它?

我试图删除libraries.iml文件并更新MyProject.iml没有运气.该文件一次又一次出现.

更新和最终解决方案: 为了避免因生成的文件引起我们注意力的麻烦,我将Android Studio配置为最后不显示它们.

File (Android Studio on Mac) -> Preferences... -> File Types -> Ignore
files and folders: .DS_Store;.git;*.iml;.idea;
Run Code Online (Sandbox Code Playgroud)

android intellij-idea android-studio android-gradle-plugin

3
推荐指数
1
解决办法
2万
查看次数