当我启动Android Studio并选择"New Project ..."并创建一个新项目时,我收到此弹出错误:
无法导入新的Gradle项目:找不到Build Tools修订版17.0.0
有关更多详细信息,请参阅IDE日志(帮助|显示日志)
我很乐意咨询IDE日志,但我甚至没有设法进入应用程序来做很多事情.我已多次浏览首选项以查看是否可以为Build Tools设置路径,但我找不到任何东西.我如何解决这个问题,或者如何在不打开项目的情况下进入应用程序,这样我至少可以看到日志?
我正在使用一个Scrollview无限的"Time Picker Carousel"并发现它不是最好的方法(最后一个问题)
现在,我找到了Recycler View,但是我无法在recyclerView的X方向上获得当前的滚动偏移量?(假设每个项目的宽度为100px,第二个项目只有50%可见,因此滚动偏移量为150px)
recyclerView.getScrollX()返回0(文档说:初始滚动值)LayoutManager有findFirstVisibleItemPosition,但我不能算出X与偏移UPDATE
我刚刚找到了一种方法来跟踪X-Position,同时使用onScrolled回调更新值,但我更喜欢获取实际值而不是一直跟踪它!
private int overallXScroll = 0;
//...
mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
overallXScroll = overallXScroll + dx;
Log.i("check","overallXScroll->" + overallXScroll);
}
});
Run Code Online (Sandbox Code Playgroud) 我正在创建一个自定义SearchView,但到目前为止,如果用户点击searchView小部件,我没有找到(点击)事件或监听器.所以SearchView很接近,用户点击搜索图标(哪个监听器?!),SearchView被打开.见下图.我需要那个事件,因为我想在用户打开searchView后更改UI

编辑: 到目前为止我尝试的是
setOnClickListener 到SearchView元素 - >但它只在SearchView打开时触发(第2张图片)
搜索了SearchViewApi,但是没有听众那个动作(或者我是盲人?)
尝试使用onWindowFocusChangedsearchView 解决方法,但由于searchView隐藏在某种youtube/facebook侧边栏中,这不起作用
有任何想法吗?我也附上了我的SearchView代码,但不认为代码是错误的.只是没有听众.顺便说一句:欢迎任何变通方法.但如果SearchView在开始时关闭,那就太好了!(如上图所示)
public class AmplifySearchView extends SearchView implements
OnQueryTextListener, OnFocusChangeListener,
OnCloseListener {
private static final String DEBUG_TAG = "AmplifySeachView";
private Context context;
private DataBaseController datasource;
private StationListView searchResultListView;
private TextView noResultTextView;
private Boolean searchStarted = false;
public AmplifySearchView(Context context) {
super(context);
this.context = context;
}
public AmplifySearchView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
}
public void initSearchView(StationListView view, TextView noResultTextView) {
this.searchResultListView = view; …Run Code Online (Sandbox Code Playgroud) 我有一个问题,Dialog.Builder按钮被切断.
我该如何解决这个问题,或者这是摩托罗拉设备的问题?
设备:摩托罗拉Moto G/OS:Android 5.0.2

设备:Galaxy S5/OS:Android 5.0.2

这是显示Dialog 的代码和主题
public void showDialog(final String title, final String message,
final OnClickListener onClickPositive,
final OnClickListener onCLickNegative, final String positiveButton,
final String negativeButton, final boolean cancelable) {
if (!isFinishing()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (dialog != null && dialog.isShowing()) {
dialog.cancel();
}
Builder builder;
if (android.os.Build.VERSION.SDK_INT >= 14) {
builder = new AlertDialog.Builder(new ContextThemeWrapper(
MyActivity.this,
android.R.style.Theme_DeviceDefault_Light_Dialog));
} …Run Code Online (Sandbox Code Playgroud) 我最近遇到了使用Android 传输AAC +无线电流的一些问题MediaPlayer.关于文档,应该支持在Android 4.1中流式传输AAC +.(测试设备是带有Android 4.2.2的Nexus 2)
我发现了一些相关的问题(请点击这里,这里或这里),但它们主要与较旧的Android版本有关或在4.1版本发布之前的日期.我找到了AACPlayerAndroid图书馆,但你必须购买许可证..
如果我尝试流式传输AACPlus流,则MediaPlayer会抛出MediaPlayerError (1,-2147483648),这被定义为"不支持的媒体格式".但是,如果我在模拟器中启动相同的AAC + Stream,它工作正常!
到目前为止我尝试了什么:
在模拟器中尝试相同的代码工作?!?(为什么..也许在本地机器上支持编解码器?)
使用4.1或4.2测试另外两个设备也会失败
设置AAC +流与手动标头和使用setDataSource(String path),这不起作用(更改http标头也失败)
设置一个新的SimpleMediaPlayer项目 - >也失败了
试图检查网络流量,如果Android设备被重定向到错误的网址.实际上我Charles使用a 连接设备Proxy,但只能监控Android浏览器.我仍然认为重定向是正确的!
这是我的Streaming.class的setDataSource的实现
public AmplifyMediaPlayer(PlayerStationObject playerStationObject, Context context) {
super();
this.setAudioStreamType(AudioManager.STREAM_MUSIC);
this.mCurrentStationObject = playerStationObject;
try {
//AAC+ TestStream #1: NOT WORKING
//Uri uri = Uri.parse("http://up-gc2.webnow.com.br/alpha.aac");
//AAC+ TestStream #2: NOT WORKING
//Audio codec: 64 kbit/s 44.1 kHz AAC+, 128 …Run Code Online (Sandbox Code Playgroud) 有没有办法获得当前区域的坐标,该坐标显示在设备上?
背景是,我们想要显示"附近"的地方,这些地方存储在我们自己的数据库中.所以,假设用户查看地图的以下剪辑:

我们如何获得屏幕的经度/纬度(或屏幕中间的点以及覆盖所有内容的半径?).请记住,地图中心通常不是当前位置,因为用户可以移动卡的中心!
有没有办法提高加载本地.html文件的速度WebView.该.html文件存储在/assets文件夹中.
正如您在视频中看到的(抱歉,链接已损坏!),TextView(红色beackground)在转换开始之前呈现,而WebView之后显示的文本.如何实现加载WebView与TextView一样快?
//current implementation
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.loadUrl("file:///android_asset/disclaimer.html");
Run Code Online (Sandbox Code Playgroud)
摘要
这是不可能的.我在这里尝试了所有评论并没有什么区别.
我问的原因是,我们有iOS和Android的应用程序,主要包括简单TextViews和Images.所以我们有了创建本地 html文件的想法,我们可以在两个应用程序中使用它们.在iOS这个作品就像一个魅力,但在Android我们无法摆脱加载时间,所以我总是有一个空白的屏幕,并在100-200ms之后出现内容.
我想WebView如果活动可见,Androids会开始渲染.这在在线模式下完全有意义,因为您不想加载几个html页面,用户在实际关注它们之前在后台新打开它们.但是,在脱机模式(存储在应用程序中的本地html文件assets)中,此行为是不必要的,但您无法更改它.
现在我们现在真的为什么phonegap&co糟透了.
仅供记录:最后,我使用了一个带有空LinearLayout容器的活动,您可以在其中以编程方式插入内容.每种样式(标题1,标题2,内容......)都有自己的布局xml文件
public void insertHeadline(int id){
String text = getString(id);
TextView headline = (TextView) inflater.inflate(R.layout.layout_text_headline, null, false);
headline.setText(text);
//add this TextView to the empty container
myLinearLayoutContainerView.addView(headline);
}
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试录制以MediaPlayer.
实际上我找到了一些博客文章,说由于安全/版权原因这是不可能的,但我找不到来自 Android/Google 文档的任何官方声明。此外,还有像 Mobizen 这样的屏幕截图应用程序可以记录内部音频(至少三星设备似乎可以工作)。
所以有人可以告诉,如果
AudioRecorder这是在玩MediaPlayer?我不太确定我现在是否正在进入黑暗面?
我已经尝试回答第二个问题:
MediaRecorder.AudioSource,但都录制麦克风MediaPlayer我使用的是Jackson 2.9.2和Retrofit 2.1.0一些POST与操作JSONArray作为HTML-Header参数。
API定义的值为aId。不管我怎么努力,我JSON property是始终转换为小写(aid)。
我使用测试了相同的代码abId,并且可以正常工作...任何提示,我的配置错误或针对该属性名称的约定(?)?
//ObjectMapper initialization
ObjectMapper().disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
//the data class
import com.fasterxml.jackson.annotation.JsonProperty
data class MyClass(
@JsonProperty
val aId: String? = null, //<-- not working
@JsonProperty
val abId: String? = null //working!
)
//Retrofit call
import retrofit2.http.Body
@POST("log")
fun sendLog(@Body logs: List<MyClass>): Call<MyCall>
//JSON Result in HTML Header
[{
"aid":"some_value", //should be "aId"
"abId":"some_value" //is correct
}] …Run Code Online (Sandbox Code Playgroud) android ×10
coordinates ×1
eclipse ×1
google-maps ×1
gradle ×1
html ×1
jackson ×1
java ×1
json ×1
performance ×1
position ×1
retrofit ×1
scroll ×1
streaming ×1