我按照本指南在我的Android应用上试验过BANNER广告.当广告加载和正在呈现时,观察到显着的FPS下降.这对用户来说是非常令人沮丧的体验,因为View动画是我的应用程序的核心部分,并且它们在低FPS中看起来很糟糕.
当我将adView设置为时,一切运行正常View.GONE.我不知道这个问题可能来自哪里.我不确定UI线程如何变得如此沉重地加载一个简单的BANNER广告......这里有什么建议吗?
我的模拟器和真正的Android设备都存在此问题.
我是Android开发人员,我想创建一个应用程序,在地图上显示用户并根据他们的位置执行任务.
应用程序的整个模型必须在服务器中运行.我需要一个API:
问题是我在服务器端编程方面有0经验.
你能告诉我一个制作服务器的方法吗?
我查看了Google Colud平台和此视频.该视频解决了应用与服务器之间的连接问题,但我真正需要的是编写模型并将其部署在云上.
作为没有服务器端编程经验的开发人员,我为这样的应用程序构建API的方式是什么?
您能否建议我为移动应用程序构建云后端的过程?
我正在努力使我的Google Translate API工作,但目前我找不到办法.这就是我在Google Developer Console中设置内容的方法:
我已使用调试证书设置了SHA1指纹.和包名 - "bg.webmap.wordy"(实际名称).当我尝试进行调用时,在JSON中返回"ipRefererBlocked"错误.但是当我删除指纹和包名称时,它工作得很好,但是每个人都可以使用这个键,所以它非常不安全.所以我的问题是身份验证.
在调用API时,我的应用会自动发送此指纹吗?我应该自己发送以及如何发送?可能问题出在调试证书中?
我的活动总共包含4张图片.它们都与1080x1920设备的分辨率相匹配.当我使用那些通过XML直接加载到我的活动中的图像运行活动时,它在我的Genymotion模拟器中运行得非常慢并且落在真正的Android设备上.
这是设置:
<android.support.design.widget.AppBarLayout
...>
<android.support.design.widget.CollapsingToolbarLayout
...>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:orientation="vertical"
app:layout_collapseMode="parallax">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView"
android:src="@drawable/shot_header"
android:scaleType="centerCrop" />
</LinearLayout>
<android.support.v7.widget.Toolbar
.../>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)
第一张图片位于CollapsingToolbarlayout中.图像的分辨率为1080x649 PNG.
content_activity:
此图像填充父宽度.它的分辨率为1080x772 PNG.
<ImageView
android:layout_width="match_parent"
android:layout_height="250dp"
android:id="@+id/main_image"
android:layout_below="@+id/shot_error_field"
android:src="@drawable/forehand_midpng"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:layout_marginTop="15dp"/>
Run Code Online (Sandbox Code Playgroud)
其他2个图像位于LinearLayout中,其分辨率为500x399
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/main_image">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/imageView3"
android:src="@drawable/forehand_mid_wrong"
android:layout_weight="1"/>
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" >
</View>
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/imageView4"
android:src="@drawable/forehand_mid_wrong"
android:layout_weight="1"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
总而言之,我有一个带有4个ImageView的活动,填充了适当大小的图像,对于现代Android设备来说应该没问题.问题是由于高内存消耗,此活动运行速度极慢且滞后.
难道我做错了什么?如何进一步优化这些图像?
我查看了其他线程- 内存不足的问题,但似乎没有人提出解决这个问题的方法.
我一直在互联网上搜索谷歌翻译API使用,但我找不到下降教程或解释.这就是我所做的:
在我的Google API控制台中,我使用此答案使用SHA1指纹在Public API访问下生成了一个键.以下是我的API控制台的外观:

在Android工作室中,我使用以下代码使用OkHttp库构建并发送我的请求:
OkHttpClient client = new OkHttpClient();
String apiKey = "My API key";
String apiLangSource = "en";
String apiLangTarget = "de";
String apiWord = "Hello";
String googleApiUrl = "https://www.googleapis.com/language/translate/v2?key=" + apiKey + "&source=" + apiLangSource + "&target=" + apiLangTarget + "&q=" + apiWord;
Request request = new Request.Builder().url(googleApiUrl).build();
Log.d(TAG, "API STRING" + googleApiUrl);
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
Log.d(TAG , "HTTP CALL FAIL");
}
@Override …Run Code Online (Sandbox Code Playgroud) 我正在设计一个 API,用于IoT 设备和客户端之间的机密通信。必须确保客户端与设备的连接是安全的,并且没有中间人可以调节通信或攻击设备,包括路由服务器。
网络图如下:
客户端必须能够通过在每个 IoT 设备上运行的 API 服务器在 IoT 设备上执行命令。路由服务器仅对请求进行隧道传输,但不得信任。
我的问题是:
我应该使用什么协议来实现这个方案?
我对SSH有点困惑。 它似乎非常适合通过隧道进行安全客户端 <--> 物联网设备通信。
但是是否可以使用 SSH 创建一个 RESTful API?
我不需要直接访问设备的外壳,我需要一个抽象层,由运行在 IoT 设备上的 API 提供。
如果 SSH 不是一个选项,我能否以任何其他方式安全地从客户端路由请求并在 IoT 设备上执行命令?
我正在开发类似画廊的活动.一切运行良好但有一个关键功能缺失,我找不到一个体面的答案或解释.我需要的是让用户能够通过长按来选择多个项目.
这是期望的结果:
您可以清楚地看到所选图片和ActionBar中的选项.
我的设置是这样的:
1. 我的XML中有一个GridView:
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="5dp"
android:horizontalSpacing="5dp"
android:stretchMode="columnWidth"
android:gravity="center"/>
Run Code Online (Sandbox Code Playgroud)
2.它附加到一个类,它扩展BaseAdapter并使用Picasso加载图像:
public class GalleryAdapter extends BaseAdapter {
Context mContext;
List<String> mDataset;
public GalleryAdapter(Context context, List<String> dataset) {
mContext = context;
mDataset = dataset;
}
@Override
public int getCount() {
return mDataset.size();
}
@Override
public Object getItem(int position) {
return mDataset.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, …Run Code Online (Sandbox Code Playgroud) 我正在为 Spring 中的 Adndroid 应用程序开发 Java API。现在我的 API 是 100% REST 和无状态的。为了让客户端接收数据,它必须先发送一个请求。
但是,我需要的是服务器在准备好执行任务时将数据发送到客户端/而不是客户端发送到服务器 fisrt/。
我认为必须在两方之间建立某种会话。
我的问题是:当服务器准备好执行任务时,如何实现服务器向客户端发送数据的功能?/不知道任务需要多长时间。/
我应该为此开发什么样的 API?
一个愚蠢的解决方法是每 n 秒向服务器发送一个请求,但我正在寻找一种更智能的方法。
我一直想知道开发一个有两个版本的应用程序的最佳方式是什么.一个广告和一个广告免费.我应该制作2个git分支,付费的和免费的,或者什么?
android ×7
ads ×2
google-api ×2
api ×1
gridview ×1
imageview ×1
iot ×1
java ×1
networking ×1
performance ×1
rest ×1
security ×1
server ×1
spring ×1
ssh ×1