我一直在学习如何使用Systrace按照如何使用Systrace的说明(来自Android开发者网站).我尝试过使用GUI和终端(命令行).
跟踪完成并保存后,我收到错误.我点击了" 详细信息 "按钮,总体而言,给出了以下消息:
无法收集系统跟踪
原因:收集系统跟踪时出现意外错误.
转换=';'
Systrace文件未保存.
我已经尝试使用命令行以及使用GUI(虽然我是使用命令行的新手).
键入$ cd android-sdk/platform-tools/systrace或$ python systrace.py进入命令行会返回错误:
'$'不被识别为内部或外部命令,可操作程序或批处理文件.
使用cd android-sdk/platform-tools/systrace(没有$字符)会出现此错误:
该系统找不到指定的路径.
并使用python systrace.py(再次,没有$这个时间)返回此错误:
'python'不被识别为内部或外部命令,可操作程序或批处理文件.
我错过了什么,还是需要重新配置的东西?
我有一个简单的Activity包含ViewPager.我试图从我Fragment的一个菜单中添加一些菜单项,但是我得到了一些奇怪的行为.调用:setHasOptionsMenu(true);从我的片段开始,onCreateOptionsMenu()每当我更改片段时调用封闭的Activity的方法ViewPager.这是正常的吗?
我想将Material Design应用到我的应用程序中.我已经阅读了有关使用材料主题以及如何使用我自己的颜色从Android开发人员网站自定义这些主题的内容,但是该网页仅描述了我可以在我的内容中使用的一些材料设计属性themes.xml.
网页仅引用主要主题属性:
- colorPrimary:应用程序的主要品牌颜色
- colorPrimaryDark:用于状态栏和上下文应用栏的较暗变体
- colorAccent:强调颜色,主题一些UI控件
它还描述了下图中显示的一些其他属性:

但是,我想知道可以应用于材质设计主题的所有不同主题属性.例如,我知道还有其他属性colorButtonNormal,但我想知道这些属性的完整列表以及它们各自的作用.
几天前我注意到我输入的文字SearchView没有显示出来.也许这个问题在很久以前开始了,我没有注意到它,但我知道当我第一次设置搜索功能时,一切都运行良好.
这是一个截图(我已经输入了文本,你可以看到它没有显示):
我已经尝试SearchView用这个SO问题改变文本的颜色,并且我也尝试在我的可搜索配置XML文件中更改文本颜色.在我发现这些都不起作用后,我撤消了我的更改,以便您可以看到我目前在下面的代码:
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu) {
...
// Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(this, SearchResultsActivity.class)));
// Note: getSearchableInfo(getComponentName()) will not work on all flavours
// because of a difference in app IDs
}
Run Code Online (Sandbox Code Playgroud)
请注意,我使用的是new ComponentName(...)代替,getSearchableInfo(getComponentName())因为我在不同的口味中使用不同的包名称.
上面的活动SearchView是显示的位置.结果显示在另一项活动中.
searchable.xml
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/search_hint" />
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
...
<activity
android:name=".ui.MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme">
<meta-data …Run Code Online (Sandbox Code Playgroud) 我找不到一些IntelliJ IDEA快捷方式.
当我去上课时,我希望能够只看到方法签名而没有其他细节.
这就是我的意思.之前:

之后:

这有什么捷径吗?
我一直在为我的某个应用程序添加一个导航抽屉,我开始想知道从导航抽屉列表项目中使用a ListView到多个TextViews 切换是否更好.看一下关于导航抽屉内容的Google设计指南(特别是关于'滚动'的部分),我注意到它可能看起来更好用多个TextViews.
目前,我正在使用一个ListView和ImageView我的导航抽屉(它看起来有点像这样.但是,当我滚动导航抽屉时(我通过转动我的设备景观来实现这一点,因为我的列表中没有足够的项目) ,只有ListView卷轴,并ImageView保持原样.我希望它能够像这样ImageViewListView scoll ,其中也滚动了.
另外,我发现ListView我的导航抽屉中没有如图中所示的涟漪效果,尽管ListView我的其他Activitys和Fragments中的其他s .
我面临的问题是什么?如何解决这些问题?
在Google的I/O应用程序(2014)中,导航抽屉布局LinearLayout的底部似乎有一个我认为负责显示的项目列表.有人可以解释这是如何工作的吗?
在Kotlin v1.1 +中,可以选择声明类型别名,它为现有类型提供替代名称.这对函数类型特别有用 - 例如:
typealias OnItemClick = (view: View, position: Int) -> Boolean
Run Code Online (Sandbox Code Playgroud)
与其他成员一样,他们可以使用KDoc评论进行记录:
/**
* Type definition for an action to be preformed when a view in the list has been clicked.
*/
typealias OnItemClick = (view: View, position: Int) -> Boolean
Run Code Online (Sandbox Code Playgroud)
但是有没有一种特定的方法来记录函数类型的参数和返回类型?
Kotlin网站提供了有关记录Kotlin代码的信息,但未提及typealases.
就像函数本身一样,如果函数类型可以像这样记录下来会很好:
/**
* @param view the view that was clicked
* @param position the layout position from the ViewHolder (see
[ViewHolder.getLayoutPosition])
* @return whether the click was successful
*/
typealias …Run Code Online (Sandbox Code Playgroud) 我已经使用AForge库来制作这个小程序,它显示从网络摄像头到PictureBox的实时馈送.
private FilterInfoCollection VideoCaptureDevices;
private VideoCaptureDevice FinalVideoDevice;
private void Form1_Load(object sender, EventArgs e)
{
VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
try
{
foreach (FilterInfo VidCapDev in VideoCaptureDevices)
{
comboBox1.Items.Add(VidCapDev.Name);
comboBox1.SelectedIndex = 0;
}
FinalVideoDevice = new VideoCaptureDevice(VideoCaptureDevices[comboBox1.SelectedIndex].MonikerString);
FinalVideoDevice.NewFrame += new NewFrameEventHandler(FinalVideoDevice_NewFrame);
FinalVideoDevice.Start();
}
catch
{
MessageBox.Show("No camera found. Please connect your camera and click RESET.");
}
}
//////////////////////////////////////////////////////////////////////////////////////////
void FinalVideoDevice_NewFrame(object sender, NewFrameEventArgs e)
{
try
{
pictureBox1.Image = (Bitmap)e.Frame.Clone();
}
catch { }
}
Run Code Online (Sandbox Code Playgroud)
但我还需要从IP摄像头获取流.任何想法最好的方法是什么?
我一直在寻找适用于Android的Travis CI文档,因此我可以学习如何开始在我的Android库中使用Travis.但是,我不太了解文档中说的很多内容......
到目前为止,我理解的是:
language: android # this means the project will be built in an Android environment
android:
components:
- tools # will be built with latest version of Android SDK tools
- platform-tools # ''
- build-tools-23.0.1 # build tools version of my project
- android-23 # Android SDK version of my project
Run Code Online (Sandbox Code Playgroud)
Travis CI文档还显示了可以使用的其他组件:
# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
- addon-google_apis-google-19
Run Code Online (Sandbox Code Playgroud)
它在这里给出了一个更完整的列表.
但这些"附加组件"的含义是什么?我猜这个extra-android-support组件可能意味着该项目将使用Android支持库构建,但其他的呢?
我看了一下特拉维斯试验摇篮 …
我有一个Java文件有点像这样:
public class Thing {
private String property;
public Thing(String property) {
this.property = property;
}
public String getProperty() {
if (property == null) {
return "blah blah blah";
} else {
return property;
}
}
}
Run Code Online (Sandbox Code Playgroud)
显然我的实际课程还有更多,但上面只是一个例子.
我想在Kotlin写这个,所以我从这开始:
class Thing(val property: String?)
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用官方文档和另一个Kotlin问题作为参考来实现自定义getter ,如下所示:
class Thing(property: String?) {
val property: String? = property
get() = property ?: "blah blah blah"
}
Run Code Online (Sandbox Code Playgroud)
但是,我的IDE(Android Studio)property以红色突出显示上面代码第3行的第二行,并给出了以下消息:
此处不允许使用初始化程序,因为该属性没有后备字段
为什么我会收到此错误,如何能够如上所述编写此自定义getter?