我正在使用MPAndroidChart在 Android 应用程序中制作图表。
我需要用那个圆圈的白色边框制作蓝色圆圈,如下图所示。

这是我的代码:
LineDataSet set1 = new LineDataSet(yVals,"DataSet");
set1.setFillAlpha(65);
set1.setFillColor(Color.RED);
set1.setColor(Color.WHITE);
set1.setCircleColor(Color.BLUE);
set1.setLineWidth(2f);
set1.setCircleSize(5f);
set1.setDrawValues(false);
Run Code Online (Sandbox Code Playgroud)
这是结果:

我正在制作RSS阅读器应用程序,我从URL获取RSS数据,RSS数据可以包含YouTube视频的链接.
以下是与youtube vide相关的链接示例:
div class="video-shortcode"><iframe title="YouTube video player" width="600"
height="350" src="http://www.youtube.com/embed/HXrcUyCVA6c"
frameborder="0" allowfullscreen></iframe></div>
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,没有视频,它全黑,我无法播放它.
我如何在WebView中播放视频?
编辑: 结果如下:

这是我的代码:
// set webview properties
WebSettings ws = desc.getSettings();
ws.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
ws.getPluginState();
ws.setPluginState(PluginState.ON);
ws.setJavaScriptEnabled(true);
ws.setUserAgent(0);
ws.setJavaScriptCanOpenWindowsAutomatically(true);
desc.setWebChromeClient(new WebChromeClient() {
});
desc.loadDataWithBaseURL("http://www.balkanandroid.com/", feed
.getItem(pos).getContent(), "text/html", "UTF-8", null);
Run Code Online (Sandbox Code Playgroud)
我的AndroidManifest.xml中有android:hardwareAccelerated ="true".
我需要帮助解析简单的JSONArray,如下所示:
{
"text":[
"Morate popuniti polje tekst."
]
}
Run Code Online (Sandbox Code Playgroud)
我试过这个但是我失败了:
if (response_str != null) {
try {
JSONObject jsonObj = new JSONObject(response_str);
JSONArray arrayJson = jsonObj.getJSONArray("text");
for (int i = 0; i < arrayJson.length(); i++) {
JSONObject obj = arrayJson.optJSONObject(i);
error = obj.getString("text");
}
}
Run Code Online (Sandbox Code Playgroud) 我添加了recyclerview gradle build,然后尝试运行应用程序,现在我收到此错误:
错误:任务':app:dexDebug'的执行失败.
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files\Java\jdk1.7.0_79\bin\java.exe''以非完成零退出值2
这是我的gradle构建文件:
dependencies {
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.android.support:recyclerview-v7:22.1.1'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
compile 'com.parse.bolts:bolts-android:1.2.0'
compile 'com.android.support:design:22.2.0'
compile 'com.google.android.gms:play-services:7.5.0'
compile 'com.facebook.fresco:fresco:0.5.2+'
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
compile fileTree(dir: 'libs', include: 'commons-io-*.jar')
compile fileTree(dir: 'libs', include: 'ParseFacebookUtilsV4-*.jar')
}
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
有没有人试图实施Facebook SDK和Fresco lib和Retrofit?我的gradle失败了,有关于螺栓的重复.
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: bolts/AggregateException.class
Run Code Online (Sandbox Code Playgroud)
这是我的gradle失败.我尝试使用Fresco for OkHttp,但我仍然遇到了上面的问题.
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.facebook.fresco:fresco:0.9.0'
compile 'com.facebook.fresco:imagepipeline-okhttp:0.9.0'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
compile 'com.android.support:multidex:1.0.1'
}
Run Code Online (Sandbox Code Playgroud) 我正在为一些网站制作一些RSS阅读器,所以我想在较低版本的Androd 4.0上实现actionbar和viewpager,所以我使用的是Jake Wharton的ActionBarSherlock和ViewPagerIndicator,所以我正在使用片段.
我想从URL读取一些RSS提要,我有一个名为LoadXMLData的AsyncTask类,这里是该类的代码.
LoadXMLData类:
public class LoadXMLData extends AsyncTask<String, RSSFeed, RSSFeed>{
private ProgressDialog mProgressDialog;
private Context context;
RSSFeed feed;
private String RSSFEEDURL = "http://balkanandroid.com/feed/";
public LoadXMLData(Context context) {
this.context = context;
mProgressDialog = new ProgressDialog(context);
mProgressDialog.setMessage("Molimo Vas, sa?ekajte. Podaci se u?itavaju.");
}
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog.show();
Log.d("OVDE SAM:", "onPreExecute()");
}
@Override
protected RSSFeed doInBackground(String... urls) {
// Obtain feed
DOMParser myParser = new DOMParser();
feed = myParser.parseXml(urls[0]);
Log.d("OVDE SAM:", "PARSIRAM XML");
return feed;
}
@Override …Run Code Online (Sandbox Code Playgroud) 我使用ViewPager和ActionBar标签向用户显示数据,我还想将当前屏幕发送到Google Analytics.
但我有问题,因为ActionBar标签的工作方式是他们正在加载当前和下一个片段的数据,因此在Google Analytics Real Time中我只显示下一个片段.
对于ActionBar标签中的每个片段,我将数据发送到Google Analytics,如下所示:
@Override
public void onStart() {
// Get an Analytics tracker to report app starts & uncaught exceptions
// etc.
// Get tracker.
Tracker t = ((MyApplication) getActivity().getApplication())
.getTracker(TrackerName.APP_TRACKER);
// Set screen name
t.setScreenName(screenName);
// Send a screen view.
t.send(new HitBuilders.AppViewBuilder().build());
super.onStart();
}
Run Code Online (Sandbox Code Playgroud)
我怎么能解决这个问题?
tabs android google-analytics android-fragments android-actionbar
我正在向服务器发送 API 请求,我可以得到两个 JSON 响应:
经过身份验证的用户响应:
{"status":"ok","tekst":"8bc6c9cf-293f-11e5-9940-448a5b5dd2bd","requestID":9034}
Run Code Online (Sandbox Code Playgroud)
未经身份验证的用户响应:
{"authenticationError":"User authentication failed"}
Run Code Online (Sandbox Code Playgroud)
改造服务:
public interface LiveService {
@GET("live.php")
Observable<Response<LiveResponse>> getLive();
}
Run Code Online (Sandbox Code Playgroud)
这是对服务器的改造请求:
retrofit.create(LiveService.class)
.getLive()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Response<LiveResponse>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
liveView.onLiveError(e);
}
@Override
public void onNext(Response<LiveResponse> response) {
}
});
Run Code Online (Sandbox Code Playgroud)
我如何处理 onNext 中的响应以检查我是否收到了经过身份验证的用户或未经身份验证的用户的 JSON 响应?
我正在使用Facebook SDK for Android,以允许用户注册和使用应用程序.我想获得一些关于用户的基本信息,如用户名和电子邮件.无论如何,我有问题因为我在尝试获取用户电子邮件时遇到空指针异常.
String email = user.getProperty("email").toString();
Run Code Online (Sandbox Code Playgroud)
我假设我收到此错误,因为我没有请求电子邮件权限.我怎么能这样做?
这是完整的代码:
public class RegisterActivity extends ActionBarActivity{
Button btnFacebook;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
getSupportActionBar().hide();
btnFacebook = (Button) findViewById(R.id.btn_facebook);
btnFacebook.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Log.d("FACEBOOK", "Prije sesije");
// start Facebook Login
Session.openActiveSession(RegisterActivity.this, true, new Session.StatusCallback() {
// callback when session changes state
@SuppressWarnings("deprecation")
@Override
public void call(Session session, SessionState state,
Exception exception) {
Log.d("FACEBOOK", "U call");
if(session.isOpened()){
Log.d("FACEBOOK", "ako je sesija otvorena");
// …Run Code Online (Sandbox Code Playgroud) email android facebook facebook-android-sdk facebook-sdk-3.0
我有带有 ViewPager 的 TabLayout 并且我只有两个选项卡:
桌子
地图
我在应用程序中支持多种语言,例如:
英语,
德语
塞尔维亚
因此,我使用塞尔维亚语作为默认语言,因为大多数用户都是说塞尔维亚语的人,但是如果我更改为其他语言,除了表格和地图选项卡之外,所有内容都已正确本地化,因为它们总是使用塞尔维亚语。
可能是什么问题?
English:
<string name="tab_map">MAP</string>
<string name="username">Username</string>
German:
<string name="tab_table">TABELLE</string>
<string name="tab_map">MAPA</string>
Serbian:
<string name="tab_table">TABELA</string>
<string name="tab_map">MAPA</string>
Run Code Online (Sandbox Code Playgroud)
这是 TabLayout 的适配器:
public class MainViewPagerAdapter extends FragmentStatePagerAdapter {
private Context context;
private LiveFragment liveFragment;
private MapFragment mapFragment;
public MainViewPagerAdapter(FragmentManager fm, Context context, LiveFragment liveFragment, MapFragment mapFragment) {
super(fm);
this.context = context;
this.liveFragment = liveFragment;
this.mapFragment = mapFragment;
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0: return liveFragment;
case …Run Code Online (Sandbox Code Playgroud) 我正在制作一个 Android 应用程序,我想阻止用户打开某个文件夹。在该文件夹中,用户可以存储图像或视频文件。如果我能用密码保护那个文件夹就太好了。
哪个是最好的方法?
我正在使用带有多项选择的 AlertDialog 来显示可检查项目的列表。
当用户选择某些值时,我可以获取它们的索引并将其保存到列表中。效果很好。
但我希望当用户再次打开 AlertDialog 时选择/检查他之前选择的值。
这是代码:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMultiChoiceItems(R.array.array_cousine, null,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int indexSelected,
boolean isChecked) {
if (isChecked) {
seletedItems.add(++indexSelected);
} else if (seletedItems.contains(indexSelected)) {
seletedItems.remove(Integer.valueOf(++indexSelected));
}
}
})
// Set the action buttons
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
String[] expList = getResources().getStringArray(R.array.array_cousine);
for (int i = 0; i < seletedItems.size(); i++) {
int selected = seletedItems.get(i);
String selectedString = expList[selected …Run Code Online (Sandbox Code Playgroud) 我正在发送 API 请求来发送电子邮件,并且在成功响应后,我将在我的EmailActivity类中调用onBackPressed()。
我还有AbstractBaseActivity类,它由我的EmailActivity类扩展。
我经常遇到这种崩溃。
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Handler android.app.FragmentHostCallback.getHandler()' on a null object reference
at android.app.FragmentManagerImpl.ensureExecReady + 2003(FragmentManager.java:2003)
at android.app.FragmentManagerImpl.execPendingActions + 2056(FragmentManager.java:2056)
at android.app.FragmentManagerImpl.popBackStackImmediate + 870(FragmentManager.java:870)
at android.app.FragmentManagerImpl.popBackStackImmediate + 831(FragmentManager.java:831)
at android.app.Activity.onBackPressed + 3111(Activity.java:3111)
at android.support.v4.app.FragmentActivity.onBackPressed + 187(FragmentActivity.java:187)
at com.test.test.core.AbstractBaseActivity.onBackPressed + 71(AbstractBaseActivity.java:71)
at com.test.test.emails.EmailActivity.displayEmailSent + 283(EmailActivity.java:283)
at com.test.presentation.emails.EmailPresenter.lambda$sendEmail$2$EmailPresenter + 100(EmailPresenter.java:100)
at com.test.presentation.emails.EmailPresenter$$Lambda$2.accept + 4(:4)
at io.reactivex.internal.observers.ConsumerSingleObserver.onSuccess + 62(ConsumerSingleObserver.java:62)
at io.reactivex.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run + 81(SingleObserveOn.java:81)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run + 124(HandlerScheduler.java:124)
at …Run Code Online (Sandbox Code Playgroud) android ×13
retrofit2 ×2
android-json ×1
build.gradle ×1
directory ×1
email ×1
facebook ×1
fresco ×1
gradle ×1
json ×1
locking ×1
rx-android ×1
rx-java ×1
tabs ×1
youtube ×1