在我的android项目中,我有ImageAdapter类,我在其中传递应用程序上下文以满足其他需求.
public class ImageAdapter extends BaseAdapter {
private Context c;
public ImageAdapter(Context c) {
this.c = c;
}
...
}
Run Code Online (Sandbox Code Playgroud)
问题是我想让ImageAdapter成为一个单例,以便从我的所有活动中轻松访问这个类的实例.但是我不知道如何将getApplicationContext()方法中的app context从我的一个活动传递给ImageAdapter.所以有没有"神奇"做到这一点如下?
public class ImageAdapter extends BaseAdapter {
private Context c;
private static class Holder {
public static final ImageAdapter IA = new ImageAdapter();
}
private ImageAdapter() {
this.c = /* some magic here */.getApplicationContext();
}
public static ImageAdapter getInstance() {
return Holder.IA;
}
...
}
Run Code Online (Sandbox Code Playgroud)
也许你有一些其他的想法,可以为我的任何活动分享ImageAdapter.我是android的新手,我对在活动中传递数据的方式有点困惑.
我将不胜感激任何帮助.
我在我的应用程序中遇到异常,该异常与android中的com.google.android.gms.location.LocationListner有关,请在这方面帮助我
我的MainActivity.java文件:
package com.ideabiz.fusedlocationprovider;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationListener;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener, LocationListener {
TextView txtOutputLat, txtOutputLon;
Location mLastLocation;
private GoogleApiClient mGoogleApiClient;
private LocationRequest mLocationRequest;
String lat, lon;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtOutputLat = (TextView) findViewById(R.id.textView);
txtOutputLon = (TextView) findViewById(R.id.textView2);
buildGoogleApiClient();
}
@Override
public void onConnected(Bundle …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个集中模块来设置我的日志格式化程序,以便在我的lambda函数中的多个python模块之间共享.此功能最终将在本地内部部署设备上的AWS Greengrass上运行.
出于某种原因,当我添加自己的处理程序来格式化消息时,日志将被输出两次 - 一次是在正确的日志级别,第二次是在错误的级别.
如果我使用标准的python记录器而不设置任何处理程序,它可以正常工作,例如
main.py:
import logging
logging.debug("test1")
Run Code Online (Sandbox Code Playgroud)
cloudwatch logs:
12:28:42 [DEBUG]-main.py:38,test1
Run Code Online (Sandbox Code Playgroud)
我的目标是在我的代码上有一个格式化程序,它将这些日志消息格式化为JSON.然后它们将被摄入集中式日志记录数据库.但是,当我这样做时,我得到两次日志消息.
loghelper.py:
def setup_logging(name):
formatter = logging.Formatter("%(name)s, %(asctime)s, %(message)s")
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(formatter)
logger = logging.getLogger(name)
if logger.handlers:
for handler in logger.handlers:
logger.removeHandler(handler)
logger.setLevel(logging.DEBUG)
logger.addHandler(handler)
return logger
Run Code Online (Sandbox Code Playgroud)
main.py:
import logging
logger = loghelper.setup_logging('main.test_function')
def test_function():
logger.debug("test function log statement")
test_function()
Run Code Online (Sandbox Code Playgroud)
现在运行lambda函数时,我在云监视日志中收到两次调试消息,如下所示:
cloudwatch logs:
12:22:53 [DEBUG]-main.py:5, test function log statement
12:22:53 [INFO]-__init__.py:880,main.test_function,2018-06-18 12:22:53,099, test function log statement
Run Code Online (Sandbox Code Playgroud)
请注意:
我无法解释这种行为,并会对可能导致这种行为的任何想法表示感谢.我也不知道第880行存在哪个构造函数.这可能会对正在发生的事情有所了解.
参考文献: …
我正在使用 Create-React-App 开发渐进式 Web 应用程序,当我部署到 Github Pages 时,我得到了 android-chrome-192x192.png 的 404 错误。清单似乎是从“myName.github.io/”而不是“myName.github.io/myProject/”请求它。当我在文件路径中添加项目名称时,我的开发服务器上出现错误,提示图像不存在!所有其他图标都工作正常,问题似乎仅与 192x192 png 有关。如果有人遇到同样的问题,我将不胜感激,非常感谢!
这是该网站的实时版本,有错误:https://brose55.github.io/robofriends/
这是使用 Create-React-App 制作并部署到 Github Pages 的 PWA。我尝试更改文件路径,但没有任何效果。
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-384x384.png",
"sizes": "512x512",
"type": "image/png"
}
],
Run Code Online (Sandbox Code Playgroud)
预期请求来自 ...github.io/robofriends,但实际上来自 ...github.io/
我正在尝试了解iOS和macOS文件系统
但是SearchPathDomainMask和SearchPathDirectory让我非常困惑
let documentsDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我认为这个URL是用户域中记录的目录路径
如果本地域中有文档目录,这段代码可能吗?
let documentsDirectory = fileManager.urls(for: .documentDirectory, in: .localDomainMask)
Run Code Online (Sandbox Code Playgroud)
SearchPathDirectory只是枚举知名文件URL吗?
域掩码或域的目的是什么
错误:无法解析 Checkstyle 规则文件。SuppressionCommentFilter 不允许作为 Checker 中的子文件 60 年代的文件已被列入黑名单。
注意:我使用的 Checkstyle 版本是 7.1.2。
这是一个看起来完全有效的配置,
<module name="Checker">
<property name="severity" value="warning" />
<module name="TreeWalker">
...
</module>
...
<module name="SuppressWarningsFilter" />
<module name="SuppressionFilter">
<property name="file" value="${config_loc}/suppressions.xml"/>
</module>
<module name="SuppressionCommentFilter">
<property name="checkC" value="false" />
</module>
...
</module>
Run Code Online (Sandbox Code Playgroud) suppress-warnings intellij-plugin intellij-14 maven-checkstyle-plugin
我有一个Perl函数,该函数不返回任何值。它也不需要任何参数。
sub test {
#do my logic
}
Run Code Online (Sandbox Code Playgroud)
我可以这样做:
sub test() {
#do my logic
}
Run Code Online (Sandbox Code Playgroud)
子例程测试会内联吗?这样行吗?(这意味着函数调用将被函数定义替换。我的程序执行得更快吗?)
函数test()被调用5000次。而且我的Perl程序执行时间比预期的要长。所以我想让我的程序更快。提前致谢!
我想将存储在Azure存储中的CSV文件下载到流中,并直接在我的python脚本中使用,但是在Thomas的帮助下完成此操作后,我无法使用pandas read_csv方法,错误消息为:pandas.io.common。 EmptyDataError:没有要从文件中解析的列,因此我假设下载的CSV流实际上是空的,但是签入存储帐户后,CSV文件中的所有数据都可以使用,这是什么问题?以下是Thomas的代码:
from azure.storage.blob import BlockBlobService
import io
from io import BytesIO, StringIO
import pandas as pd
from shutil import copyfileobj
with BytesIO() as input_blob:
with BytesIO() as output_blob:
block_blob_service = BlockBlobService(account_name='my account', account_key='mykey')
block_blob_service.get_blob_to_stream('my counter', 'datatest1.csv', input_blob)
df=pd.read_csv(input_blob)
print(df)
copyfileobj(input_blob, output_blob)
#print(output_blob)
# Create the a new blob
block_blob_service.create_blob_from_stream('my counter', 'datatest2.csv', output_blob)
Run Code Online (Sandbox Code Playgroud)
如果我不执行read_csv代码,则create_blob_from_stream将创建一个空文件,但是如果我执行read_csv代码,则会出现错误:
pandas.parser.TextReader。CINIT(熊猫\ parser.c:6171)pandas.io.common.EmptyDataError:没有列从文件解析
the download file stored fine in the blob storage with all data in it. as showing below:
Run Code Online (Sandbox Code Playgroud)
//这是我的代码
package name.ratson.cordova.admob.rewardvideo;
import android.util.Log;
import com.google.android.gms.ads.reward.RewardItem;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;
import org.json.JSONException;
import org.json.JSONObject;
import name.ratson.cordova.admob.AbstractExecutor;
class RewardVideoListener implements RewardedVideoAdListener {
private final RewardVideoExecutor executor;
RewardVideoListener(RewardVideoExecutor executor) {
this.executor = executor;
}
@Override
public void onRewardedVideoAdFailedToLoad(int errorCode) {
synchronized (executor.rewardedVideoLock) {
executor.isRewardedVideoLoading = false;
}
JSONObject data = new JSONObject();
try {
data.put("error", errorCode);
data.put("reason", AbstractExecutor.getErrorReason(errorCode));
data.put("adType", executor.getAdType());
} catch (JSONException e) {
e.printStackTrace();
}
executor.fireAdEvent("admob.rewardvideo.events.LOAD_FAIL", data);
}
@Override
public void onRewardedVideoAdLeftApplication() {
JSONObject data = new JSONObject();
try {
data.put("adType", …Run Code Online (Sandbox Code Playgroud) adapter.notifyDataSetChanged(); 我没有在android中工作我正在检索for循环中的值,但值没有显示在屏幕上.我的java文件:
private static final String TAG_NAME="Notification";
String[] resultsAsString = {""};
ListView listView;
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, resultsAsString);
ParseQuery<ParseObject> parseObjectParseQuery=new ParseQuery<ParseObject>("PushNotifications");
parseObjectParseQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
if (e==null){
resultsAsString = new String[objects.size()];
Log.d(TAG_NAME,"Objects size in MyService is:"+objects.size());
if(objects.size()>0){
Log.d(TAG_NAME,"Object size is "+objects.size());
for(int index = 0; index < objects.size(); index++){
resultsAsString[index] = objects.get(index).getString("Message");
Log.d(TAG_NAME,"result value is:"+resultsAsString[index]);
}
adapter.notifyDataSetChanged();
}else {
Log.d(TAG_NAME,"Object size is "+objects.size());
}
}
}
});
listView = (ListView) …Run Code Online (Sandbox Code Playgroud) android ×3
java ×2
python ×2
admob ×1
aws-lambda ×1
baseadapter ×1
directory ×1
file ×1
github-pages ×1
greengrass ×1
inline ×1
intellij-14 ×1
io ×1
ios ×1
lighthouse ×1
listview ×1
logging ×1
optimization ×1
pandas ×1
perl ×1
singleton ×1
subroutine ×1
swift ×1