Photon Server和Photon Cloud产品有什么区别?
我正在使用UIActivityViewController邀请联系人到我的应用程序.我只需要分享一个特定的文字.它适用于所有共享选项,但是当我尝试发送SMS时,我找不到以编程方式添加特定联系人的选项,因为我已经拥有该联系人的电话号码.
我目前的代码看起来像这样 -
if(NSClassFromString(@"UIActivityViewController")) {
NSString *message = @"Hi,\nCheckout My App, a new messenger.";
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:@[message] applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
我尝试了子类化UIActivityItemProvider,但它基本上允许我向不同的提供者发送不同的消息,但我不希望这样.
有没有办法选择特定联系人或提供电话号码UIActivityViewController?
我有几个开源库,我已经设置了Travis CI.它们运行正常,但需要25分钟才能检查构建.大部分时间都浪费在下载依赖项和Android SDK平台上.
我目前在.travis.yml中有以下内容
language: android
jdk:
- oraclejdk8
before_install:
- chmod +x gradlew
env:
global:
- ANDROID_API_LEVEL=24
- EMULATOR_API_LEVEL=21
- ANDROID_BUILD_TOOLS_VERSION=24.0.1
- ANDROID_ABI=google_apis/armeabi-v7a
- ADB_INSTALL_TIMEOUT=20 # minutes (2 minutes by default)
android:
components:
- tools
- tools
- platform-tools
- build-tools-$ANDROID_BUILD_TOOLS_VERSION
- android-$ANDROID_API_LEVEL
- android-$EMULATOR_API_LEVEL
- extra
- add-on
- extra-google-m2repository
- extra-android-m2repository
# Google Play Services
- extra-google-google_play_services
# Support library
- extra-android-support
- addon-google_apis-google-$ANDROID_API_LEVEL
- addon-google_apis-google-$EMULATOR_API_LEVEL
- sys-img-armeabi-v7a-addon-google_apis-google-$ANDROID_API_LEVEL
- sys-img-armeabi-v7a-addon-google_apis-google-$EMULATOR_API_LEVEL
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
cache:
directories: …Run Code Online (Sandbox Code Playgroud) 之间的主要区别是什么IwGx,Iw2D以及s3eAPI中marmalade?
我想在进行视频录制时在我的应用程序中打开手电筒模式AVCaptureTorchModeOn.
我使用下面的代码.
-(void)set_TorchMode:(BOOL)turnOn
{
AVCaptureDevice *theDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([theDevice hasTorch]) {
[theDevice lockForConfiguration: nil];
AVCaptureTorchMode currentMode = [theDevice torchMode];
BOOL isAlreadyTurnedOn = (AVCaptureTorchModeOn == currentMode);
if (isAlreadyTurnedOn != turnOn) {
[theDevice setTorchMode: turnOn? AVCaptureTorchModeOn: AVCaptureTorchModeOff];
}
[theDevice unlockForConfiguration];
}
}
Run Code Online (Sandbox Code Playgroud)
我在开始录音时打开这个方法打开,在停止录音时将其关闭.
我第一次录制它时工作正常,但是当第二次开始录制时,它开启但立即关闭.录制运行时它不会保持打开状态.
谢谢你的帮助.
我有以下布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
class="com.xamarin.recipes.filepicker.FileListFragment"
android:id="@+id/FileListFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
之后我试图访问Activity中的FileListFragment:
var fileListFragment = SupportFragmentManager.FindFragmentById(Resource.Id.FileListFragment);
Run Code Online (Sandbox Code Playgroud)
但我在Watches for FileListFragment中得到"Unknown identifier:fileListFragment"
更新.
活动代码:
using Android.Support.V4.App;
using Android.OS;
namespace com.xamarin.recipes.filepicker
{
[Android.App.Activity(Label = "Choose file", MainLauncher = true, Icon = "@drawable/icon")]
public class FilePickerActivity : FragmentActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.ChooseAudio);
var fileListFragment = (FileListFragment)SupportFragmentManager.FindFragmentById(Resource.Id.FileListFragment);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Google地图实现一个简单的导航应用.最初,我开发了一个代码,用于在地图上标记两个地理点并显示它们之间的路线.现在我正在尝试根据用户位置将第一个标记移向第二个标记(目标).
为此,我使用LocationListener并实现了代码onLocationChanged.问题是onLocationChanged没有被触发,标记没有根据用户位置移动.这是我的代码.
MapActivity.java
public class MapActivity extends FragmentActivity implements OnMapClickListener, LocationListener{
private GoogleMap gMap;
private ArrayList<LatLng> markersArray; //Marker points ArrayList
private ArrayList<Marker> markers;
private MarkerOptions options; //Marker options
String distance="";
String duration="";
private TextView travelDetails;
private ProgressDialog pDialog;
private double lattitude=0.0;
private double longitude=0.0;
Marker mMarker;
String bestAvailableProvider;
private LocationManager mLocationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
//Loading Google Maps
try{
loadMapView();
markersArray=new ArrayList<LatLng>();
markers=new ArrayList<Marker>();
gMap.setOnMapClickListener(this);
gMap.setMyLocationEnabled(true);
gMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
travelDetails=(TextView) findViewById(R.id.lbl_traveldetails);
pDialog=new …Run Code Online (Sandbox Code Playgroud) 我在我的项目中使用ExpandableRecyclerView来嵌套RecyclerView.它工作得很好,除非您需要动态更新父列表.
我的项目将Product类作为父对象(并扩展ParentListItem).我从API获取产品列表,因此需要清除当前列表并添加我有的列表.
在ExpandableRecyclerAdapter中我试过这个方法 -
public void onDataChanged(ArrayList<Product> parentObjects) {
this.getParentItemList().clear();
this.getParentItemList().addAll(parentObjects);
this.notifyItemRangeChanged(0, parentObjects.size() - 1);
}
Run Code Online (Sandbox Code Playgroud)
然而,它给出了一个奇怪的通用错误
Error:(60, 33) error: no suitable method found for addAll(ArrayList<Product>)
method List.addAll(Collection<? extends CAP#1>) is not applicable
(actual argument ArrayList<Product> cannot be converted to Collection<? extends CAP#1> by method invocation conversion)
method List.addAll(int,Collection<? extends CAP#1>) is not applicable
(actual and formal argument lists differ in length)
method Collection.addAll(Collection<? extends CAP#1>) is not applicable
(actual argument ArrayList<Product> cannot be …Run Code Online (Sandbox Code Playgroud) generics android android-recyclerview expandablerecyclerview
我在 Google 表格上有一些数据。我正在使用Node.js 的 Sheets API来访问这些数据。对于身份验证,我使用服务帐户 JSON 生成 JWTClient。
我可以从 sheet api 访问数据,一切正常。代码托管在Google App Engine 柔性环境中。它适用于本地主机和 GAE。
唯一的问题是我需要提供服务帐户密钥 json 以进行身份验证。这在本地环境中很好,但在 App Engine 上它为服务帐户提供了默认凭据(我使用的是相同的服务帐户)。所以我认为我不应该手动提供凭据而让 GAE 处理服务器上的凭据。
但它不会自动进行身份验证,仍然是一个 auth 参数。
这是我当前对 sheet api 的实现 -
const { promisify } = require('util');
const google = require('googleapis');
const auth = require('./auth');
const credentials = require('../configs/credentials');
const sheets = google.sheets('v4');
const getSheetValuesAsync = promisify(sheets.spreadsheets.values.get);
//region private
function readSheet(params) {
return getSheetValuesAsync(params);
}
//endregion private
//region public
async function get(sheetConfigName) …Run Code Online (Sandbox Code Playgroud) javascript google-app-engine node.js google-cloud-platform google-sheets-api
android ×4
c# ×2
airplay ×1
asp.net ×1
asp.net-mvc ×1
c++ ×1
caching ×1
camera ×1
camera-flash ×1
cloud ×1
dbcontext ×1
generics ×1
google-maps ×1
ios ×1
ios-camera ×1
iphone ×1
javascript ×1
marmalade ×1
multiplayer ×1
node.js ×1
objective-c ×1
photon ×1
travis-ci ×1
xamarin ×1
xcode ×1