嗨,我想知道为了在我的网站上自行发布应用程序,我必须遵循的流程是什么.是仅将.apk文件放在网站中并提供用户导航(从手机)到应用程序并安装它的链接?
提前致谢.
我有两个问题:
所以我重写isEquals
并hash
比较自定义对象,以便能够删除重复项NSArray
.问题是我在列表中缺少一些不包含重复项的值,而且我的hash
或isEquals
实现似乎是错误的.自定义对象是具有像一些变量课程目标:id
和name
我会在这里把代码:
- (BOOL)isEqual:(id)object {
if ([object isKindOfClass:[Course self]]) {
return YES;
}
if(self == object){
return YES;
}
else {
return NO;
}
}
- (unsigned)hash {
NSString *idHash = [NSString stringWithFormat: @"%d", self._id];
return [idHash hash];
}
Run Code Online (Sandbox Code Playgroud)
然后,在查询数据库之后,我将值放在一个数组中,然后放在一个应该删除重复项的集合中,如下所示:
NSMutableSet *noDuplicates = [[NSMutableSet alloc] initWithArray:tempResults];
Run Code Online (Sandbox Code Playgroud)
你可以看到我在做错了isEquals
或hash
执行?
非常感谢.
我有一个表视图中显示的书名.表格视图单元格有2行cell.textLabel.numberOfLines = 2
现在我想截断第二行的尾部.这有可能实现programmaticaly吗?
提前致谢.
我有一个带有自定义对象的ArrayList.我想要的是从数组中删除重复项,具体取决于自定义对象的name属性.我试图使用Set person = new TreeSet(); 但它不起作用.我猜是因为该集合比较的是地址或其他名称属性.所以我现在正在尝试使用一个迭代器,它不会删除重复项.这就是我得到的;
ArrayList<Person> people = new ArrayList<Person>();
Iterator<Person> iterator = people.iterator();
while (iterator.hasNext()) {
Person person = iterator.next();
if (person.getName().equals(iterator.next().getName())) {
iterator.remove();
}
}
for (Person person : people) {
System.out.println(person.getName());
}
Run Code Online (Sandbox Code Playgroud)
虽然我看到了重复的ArrayList,但它没有被修改.我需要一些帮助.谢谢!
我有一个名单,我想根据名称开头的字母将颜色更改为行.这是我用来显示ListView的内容:
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
lisviewrows.xml
<?xml version="1.0" encoding="UTF-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</TextView>
Run Code Online (Sandbox Code Playgroud)
main.java
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
List<String> words = populateList();
List<String> l = removeDoubles(words);
Collections.sort(l);
ListView lv = (ListView)findViewById(R.id.listview);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.listviewrows, l);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, …
Run Code Online (Sandbox Code Playgroud) Android的嵌入式操作系统依赖Linux内核来实现核心系统服务,但不是嵌入式Linux,因此不支持标准实用程序库,例如GNU C. Java框架用于编写Android应用程序,但Android不是Java.不支持Swing等标准Java库.Android有一个称为Dalvik的虚拟机,因此在生成Java类文件时,会将其转换为称为.dex文件的Dalvik可执行文件.从这一点来看,这些文件不被视为java字节码,而是视为.dex文件.
所以我有三个问题:
.dex
Java字节码上的文件?我的意思是他们为什么要把工作翻译或合并.class
到.dex
文件?当我尝试以编程方式创建11个文本字段时,我正在努力.问题是文本字段没有显示出来.我在viewDidLoad
方法中创建它们.
这是我正在使用的代码:
- (void)viewDidLoad
{
// Determine some basic info
int numberOfTextfields = 11;
int textfieldHeight = 40;
int textfieldWidth = 200;
// Create the UIScrollView
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, numberOfTextfields*textfieldHeight,textfieldWidth)];
// Create all the textfields
NSMutableArray *textfields = [NSMutableArray arrayWithCapacity:
(NSUInteger)numberOfTextfields];
for(int i = 0; i < numberOfTextfields; i++) {
UITextField *field = [[UITextField alloc] initWithFrame:
CGRectMake(0,i*textfieldHeight,textfieldHeight,textfieldWidth)];
[scrollView addSubview:field];
[textfields addObject:field];
}
[super viewDidLoad];
}
Run Code Online (Sandbox Code Playgroud)
他们为什么不出现的任何线索?
提前致谢.
我有两个活动A和B.我想要的是将活动A显示为介绍,用户将无法导航回到它.是否有一些我可以设置为活动A的标志来执行此操作?我可以仅阻止一个活动的后退按钮吗?活动A当然是我的主要活动,它在一些"辛勤工作"之后自动启动活动B.
最好的祝福.
我一直在努力找到为什么我的if
陈述没有正常工作所以我用了一个try catch
块代替.这是我所拥有的if语句:
//selectArtistByName returns an Artist object
if (!selectArtistByName(artist.getName()).equals(artist.getName()) ||
selectArtistByName(artist.getName())==null) {
//save data to database
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的内容时,我得到了一个,NullPointerException
因为该方法在数据库为空selectArtistByName
时返回null
.我不明白的是为什么if
当我得到它时它没有在声明中出现null
.所以我做了这个并且它有效:
try {
if (!selectArtistByName(artist.getName()).equals(artist.getName())) {
}
} catch (NullPointerException e) {
m_db.insert(TABLE_ARTIST, null, artistContents);
}
Run Code Online (Sandbox Code Playgroud)
我不是Java大师,但它看起来像是一个可怕的修复程序.我怎么能解决这个问题.
android ×5
cocoa-touch ×2
iphone ×2
java ×2
objective-c ×2
arraylist ×1
hash ×1
ios ×1
iterator ×1
listview ×1
uitableview ×1
uitextfield ×1