我是Android新手,我正在尝试为Android构建RSS阅读器.我已经构建了所有类和XML文件,但它没有提供所需的输出.它只是显示消息
No RSS feed available.
请有人建议我该怎么做.
这是我从教程中获取的代码,并试图操纵 -
public final String RSSFEEDOFCHOICE = "http://blog.01synergy.com/feed/";
public final String tag = "RSSReader";
private RSSFeed feed = null;
/** Called when the activity is first created. */
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
// go get our feed!
feed = getFeed(RSSFEEDOFCHOICE);
// display UI
UpdateDisplay();
}
private RSSFeed getFeed(String urlToRssFeed)
{
try
{
// setup the url
URL url = new URL(urlToRssFeed);
// create the factory
SAXParserFactory factory = SAXParserFactory.newInstance();
// …Run Code Online (Sandbox Code Playgroud) 我有这样的根目录:
??? classes
??? src
??? vehicles
??? Bicycle.java
??? BicycleMain.java
Run Code Online (Sandbox Code Playgroud)
Bicycle.java
package vehicles;
public class Bicycle {
public int cadence;
public int gear;
public int speed;
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
public void setCadence(int newValue) {
cadence = newValue;
}
public void setGear(int newValue) {
gear = newValue;
}
public void setSpeed(int newValue) {
speed = newValue;
}
public int getGear() {
return gear;
}
public …Run Code Online (Sandbox Code Playgroud) 在一个项目中,我在C++和一个使用stdbool.h的C库之间进行接口.
#ifndef _STDBOOL_H
#define _STDBOOL_H
/* C99 Boolean types for compilers without C99 support */
/* http://www.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html */
#if !defined(__cplusplus)
#if !defined(__GNUC__)
/* _Bool builtin type is included in GCC */
typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
#endif
#define bool _Bool
#define true 1
#define false 0
#define __bool_true_false_are_defined 1
#endif
#endif
Run Code Online (Sandbox Code Playgroud)
一些结构有bool成员.因此,如果我将这些结构中的一个定义为C++函数中的局部变量并将其传递给C函数,则C++和C之间的大小不一致,因为bool在C++中是一个再见,在C中是4个.
有没有人有任何建议如何克服这个问题而不诉诸我目前的解决方案
//#define bool _Bool
#define bool unsigned char
Run Code Online (Sandbox Code Playgroud)
我在objective-c中有ViewController,我的大部分代码都是c ++(.mm).我想从obj-c(在c ++中)为成员函数设置一些回调,并从c ++中调用它们.像这样的东西(它非常简化):
@interface MyClass
{ }
-(void)my_callback;
@end
@implementation MyClass
-(void)my_callback
{
printf("called!\n");
}
-(void)viewDidLoad
{
// setup_callback( "to my_callback ?" );
}
@end
Run Code Online (Sandbox Code Playgroud)
和:
void setup_callback(void(*func)()) { func(); }
Run Code Online (Sandbox Code Playgroud)
这当然不正确.有什么建议我可以这样做吗?
我的Android应用程序有一个简单的方法来启动显示URL的意图.
protected void launchBrowser(int id)
{
Uri uri = Uri.parse( getString( id ) );
Intent intent = new Intent( ACTION_VIEW, uri);
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
if (activities.size() > 0)
{
startActivity(intent);
}
else
{
Toast.makeText(getApplicationContext(),
"ERROR - no application to display a web page",
Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Robolectric进行单元测试,但我无法验证这种方法.具体来说,getPackageManager()始终返回null.我怎么能影子PackageManager呢?我尝试创建一个ShadowPackageManager并调用bindShadowClass,但我的代码都没有被执行 - getPackageManager()总是返回null.我也尝试了Shadow the Application上下文并返回一个具体的StubPackageManager,但得到了相同的结果.也许我一直在寻找/盯着太长时间 - 有没有更好的方法对这种方法进行单元测试?
为什么我不能使用reinterpret_cast运算符进行这样的演员表?
enum Foo { bar, baz };
void foo(Foo)
{
}
int main()
{
// foo(0); // error: invalid conversion from 'int' to 'Foo'
// foo(reinterpret_cast<Foo>(0)); // error: invalid cast from type 'int' to type 'Foo'
foo(static_cast<Foo>(0));
foo((Foo)0);
}
Run Code Online (Sandbox Code Playgroud) 例如
int f(int a) {
...
return a > 10;
}
Run Code Online (Sandbox Code Playgroud)
被认为是可以接受的(不合法,我的意思是它是"好的代码"),或者它应该总是在有条件的,像这样
int f(int a) {
...
if (a > 10)
return 1;
else
return 0;
}
Run Code Online (Sandbox Code Playgroud) 可能是一个天真的问题 - 我曾经在20年前编程并且自那时起编码不多.我C preprocessor对此后作品如何萎缩的记忆......
我正在编写一个非常简单的C程序,我试图声明一些静态全局数组,但是它的大小arrays将依赖于(以非平凡的方式)MODE变量.类似下面的简化示例.
两个快速点:我知道我可以arrays根据任何所需的最大尺寸来确定尺寸MODE,但我不想这样做,因为(与下面的简化示例不同)有时候这些尺寸中的一小部分会非常大其他人很小.
此外,我想使用静态定义的全局数组 - 而不是在运行时动态分配它们.我希望编译器在编译时具有大小.
//** Simplified example of what I'd like to do **//
#define SIZE_LIST_1[5] = {2, 7, 23, 33, 12, 76} // I don't think this is valid syntax
#define SIZE_LIST_2[5] = {11, 65, 222, 112, 444}
#define MODE 4
#define S1 SIZE_LIST_1[MODE]
#define S2 SIZE_LIST_2[MODE]
int a[S1], b[S2];
Run Code Online (Sandbox Code Playgroud) 我想知道为什么= 捕获默认模式禁止this在C++ lambda表达式的捕获列表中.
那是,
[=, this]{ }; // error
[&, this]{ }; // OK
Run Code Online (Sandbox Code Playgroud)
这由C++ 11 5.1.2/8指定.
- 如果lambda-capture包含一个捕获默认值为&,则lambda-capture中的标识符不应以&开头.
- 如果lambda-capture包含一个=的capture-default,则lambda-capture不应该包含这个,并且它包含的每个标识符都应以&开头.
问:这条规则有什么理由或背景故事吗?
我正在尝试使用three.js在谷歌应用程序引擎中制作一个javascript应用程序,但我没有得到将其包含在我的文档中的URL.我不想上传整个three.js包,这个包非常大.我想知道是否有一种方法可以获得URL来包含库,就像这个jQuery一样:http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js
如果已经提出此问题,请提供链接.
c++ ×5
c ×3
android ×2
boolean ×1
c++11 ×1
callback ×1
compilation ×1
enums ×1
java ×1
javac ×1
javascript ×1
jquery ×1
lambda ×1
objective-c ×1
robolectric ×1
rss-reader ×1
shadow ×1
standards ×1
static-cast ×1
three.js ×1