我想我非常认真地遵循这个网站的指示
http://source.android.com/source/downloading.html
但是当我试试这个
repo init -u https://android.googlesource.com/platform/manifest
Run Code Online (Sandbox Code Playgroud)
我收到以下错误.
repo init -u https://android.googlesource.com/platform/manifest -b froyo
/root/bin/repo: line 1: syntax error near unexpected token `newline'
/root/bin/repo: line 1: `<?xml version="1.0" encoding="utf-8"?>'enter code here`
Run Code Online (Sandbox Code Playgroud)
我试了好几次,但从一开始就没有运气.发生了什么?
我正在使用XOOM并尝试隐藏操作栏.所以我按照说明在清单文件中执行以下操作:
uses-sdk android:minSdkVersion="11" android:targetSdkVersion="11"
还设置了活动主题.
android:theme="@android:style/Theme.Holo.NoActionBar"
不幸的是,我仍然可以看到动作栏.所以我从我的清单中删除了holo动作部分并添加了以下代码
ActionBar actionBar = getActionBar();
actionBar.hide();
从hide()方法获取空指针异常.所以我理解getActionBar()返回null.现在我很好奇我错过了什么?
我想在波纹管表上写一个sql查询.
?????????????????????????======?======?
? ID ? NAME ? CLASS ?PARENT? DOB ?
?????????????????????????======?======?
? 1 ? DAVID ? SPIN ? ?1 ?
? 2 ? AROON ? BIKE ? 1 ?1 ?
? 3 ? LEO ? YOGA ? ?2 ?
? 4 ? LIN ? CYC ? 1 ?2 ?
? 5 ? STEFA ? YOGA ? ?3 ?
? 6 ? GLORIA ? RUNN ? 1 ?3 ?
?????????????????????????======?======?
Run Code Online (Sandbox Code Playgroud)
并且,此表的输出应如下所示
???????????????????????======?======?
? ID ? NAME ? CLASS ?PARENT? DOB …Run Code Online (Sandbox Code Playgroud) 我在服务器中有40 MB文件,我正在使用下载文件
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
FileOutputStream f = new FileOutputStream(new File("trips.xml"));
InputStream in = c.getInputStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ( (len1 = in.read(buffer)) != -1 ) {
f.write(buffer,0, len1);
Run Code Online (Sandbox Code Playgroud)
这段代码看起来工作得很好但是花了太长时间.他们可以通过任何方式让这个过程更快.
/ minhaz
在Java中,基本类型的Arrays.sort()使用快速排序.另一方面,对象的Arrays.sort()使用Merge排序.同样适用于Collection.sort(),它也使用Merge排序.集合排序使用下面的Arrays排序实现.所以,简单来说,我可以说基元是使用快速排序排序的,但是对象是使用合并排序进行排序的.
我的猜测是它与自己的排序算法有关.关于快速排序vs合并排序的SO有很多讨论,像这样和这个.似乎存在相互冲突的主张哪个更好,这是可以理解的,因为这取决于数据集.
我的理解是
Android API似乎遵循与Java相同的模式.这是我在Arrays.java中找到的
public static void sort(long[] array) {
DualPivotQuicksort.sort(array);
}
Run Code Online (Sandbox Code Playgroud)
还有这个,
public static void sort(Object[] array) {
ComparableTimSort.sort(array);
}
Run Code Online (Sandbox Code Playgroud)
我不明白的是,是什么让Merge排序成为在Java或Android中排序对象的好选择?为什么不把这个决定留给开发者?
所以,在Android上我们有类似的属性colorPrimaryDark可以通过以下方式访问:
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
app:elevation="6dp"
app:layout_anchor="@id/recycler_view"
android:layout_marginRight="40dp"
android:layout_marginBottom="86dp"
app:fabSize="normal"
app:backgroundTint="?android:attr/colorPrimaryDark"
app:layout_anchorGravity="bottom|right|end" />
Run Code Online (Sandbox Code Playgroud)
现在,我决定创建自己的属性.所以,这就是我所做的;
第1步在attrs.xml中
<?xml version="1.0" encoding="utf-8"?>
<resources >
<declare-styleable name="AppTheme">
<attr name="colorLeadingDark" format="color" />
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
Styles.xml中的第2步
<style name="AppTheme">
<item name="colorLeadingDark">#9C27B0</item>
</style>
Run Code Online (Sandbox Code Playgroud)
第3步工厂
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
app:elevation="6dp"
app:layout_anchor="@id/recycler_view"
android:layout_marginRight="40dp"
android:layout_marginBottom="86dp"
app:fabSize="normal"
app:backgroundTint="?attr/colorLeadingDark"
app:layout_anchorGravity="bottom|right|end" />
Run Code Online (Sandbox Code Playgroud)
第4步设置主题
我onCreate在我的活动中设置了这个主题
当我运行我的代码时,这没问题.我可以看到我想要的FAB颜色.但是,问题是当我点击FAB时我崩溃了.
android.view.InflateException: Binary XML file line #17: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:640)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at …Run Code Online (Sandbox Code Playgroud) 我试图使用set.所以我试过这种方式
HashSet set=new HashSet();
Points p1 = new Points(10, 20);
Points p2 = new Points(10, 20);
System.out.println(set.add(p1)); // output true
System.out.println(set.add(p2)); // output false
Run Code Online (Sandbox Code Playgroud)
我知道我的第一个输出是真的,第二个输出是假的,因为Set不允许重复的元素.并且,我也知道Set通过使用equals(Object o)方法实现此目的.它来自带有以下签名的java Object类.
public boolean equals(Object o) {}
Run Code Online (Sandbox Code Playgroud)
为了更深入地测试,我编写了自己的课程
class testSet{
private int x;
private int y;
public testSet(int xa, int ya){
this.x=xa;
this.y=ya;
}
@Override
public boolean equals(Object o){
if (o instanceof testSet){
testSet ts=(testSet)o;
return ts.x==this.x && ts.y==this.y;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我希望以下代码的行为与Point类相同
HashSet set=new HashSet();
testSet set_a=new testSet(3,4);
testSet set_b=new testSet(3,4);
System.out.println(set.add(set_a)); …Run Code Online (Sandbox Code Playgroud) 我的三星Nexus与Android 4.0.2的问题非常严重.我写了一个简单的程序,基本上每次用户按下按钮时都会创建文件.我的程序在其他设备上工作得很好,因为Galaxy Nexus Windows/Mac无法在SD卡上看到这些文件,但是当我做adb shell时,我看到SD卡上的所有文件.
我在另一个拥有Android 4.0.4的Nexus上重新测试了这个,但结果仍然相同.
可能是什么原因?