[android-developers] Digest for android-developers@googlegroups.com - 14 updates in 13 topics

Shaw Revels <district3studios@gmail.com>: Jun 16 05:35PM -0700

So my question may not be very clear but i shall try my best. Ive searched
a lot around the net and couldnt find what i was looking for. But i have an
app, kind of like snap chat, and it works fine. I want to be able to
receive a video from someone, play it, my phone record a video on my end,
and send it back to the sender. My dilemma is being able to record the
video in the background while im watching their video and then it
automatically sending the video back to them. It would even work with the
sender being able to choose whether or not they want to send it by pressing
a send button. Any advice would work. Thanks devs!
ed@atmsecurityltd.com: Jun 16 04:16PM -0700

I am writing an Android phone application that will only talk to one BLE
device at a time. It will, however, be used over a wide physical area and
there could be many paired/bonded devices, even if only one is accessed at
a time. Is there a size limit to the table used to store information about
these devices?
 
Ed
AdamK <akirk@magtec.com>: Jun 16 03:06PM -0700

Hey All,
 
I seem to be having some issue with the following code, following some
tutorials on you tube and following the android Bluetooth documentation I
have created the following which works except that it does not find any
Bluetooth devices?
 
package com.company.bluetoothconnect;
 
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
import java.lang.reflect.Method;
import java.util.Set;
 
public class Main extends AppCompatActivity {
/** Called when the activity is first Created. */
protected static final int DISCOVERY_REQUEST = 1;
 
public TextView statusUpdate;
public Button connect;
public Button disconnect;
 
String toastText = "";
 
private BluetoothAdapter btAdapter;
private BluetoothDevice remoteDevice;
 
BroadcastReceiver bluetoothState = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//String prevSateExtra=BluetoothAdapter.EXTRA_PREVIOUS_STATE;
String stateExtra= BluetoothAdapter.EXTRA_STATE;
int state = intent.getIntExtra(stateExtra, -1);
//int previousState = intent.getIntExtra(prevSateExtra, -1);
 
switch (state){
case(BluetoothAdapter.STATE_TURNING_ON):
{
toastText = "Bluetooth Turning On";
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
break;
}
case (BluetoothAdapter.STATE_ON) :
{
toastText = "Bluetooth On";
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
setupUI();
break;
}
case (BluetoothAdapter.STATE_TURNING_OFF) :
{
toastText = "Bluetooth turning off";
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
break;
}
case (BluetoothAdapter.STATE_OFF) :
{
toastText = "Bluetooth off";
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
break;
}
}
}
};
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupUI();
}//end onCreate
 
@Override
protected void onStop()
{
unregisterReceiver(bluetoothState);
unregisterReceiver(discoveryResult);
super.onStop();
}
 
private void setupUI() {
//get references
final TextView statusUpdate =(TextView) findViewById(R.id.result);
final Button connect =(Button) findViewById(R.id.btnConnect);
final Button disconnect =(Button) findViewById(R.id.btnDisconnect);
 
//set visibility
connect.setVisibility(View.GONE);
disconnect.setVisibility(View.GONE);
btAdapter = BluetoothAdapter.getDefaultAdapter();
 
if(btAdapter.isEnabled()){
String address = btAdapter.getAddress();
String name = btAdapter.getName();
String statusText = name + " : " + address;
 
statusUpdate.setText(statusText);
disconnect.setVisibility(View.VISIBLE);
} else {
connect.setVisibility(View.VISIBLE);
statusUpdate.setText("Bluetooth is not on");
}
 
connect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivityForResult(discoverableIntent, DISCOVERY_REQUEST);
}
});//end connect onClickListner
 
disconnect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
btAdapter.disable();
disconnect.setVisibility(View.GONE);
connect.setVisibility(View.VISIBLE);
statusUpdate.setText("BlueTooth Off");
}
});//end disconnect onClickListner
}//end setupUI
 
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
 
if(requestCode == DISCOVERY_REQUEST){
Toast.makeText(Main.this, "Discovery in progress", Toast.LENGTH_SHORT).show();
setupUI();
findDevices();
}
}
 
private void findDevices() {
String lastUsedRemoteDevice = getLastUsedRemoteBTDevice();
 
if(lastUsedRemoteDevice != null) {
toastText="Checking for known paired devices, namely: "+lastUsedRemoteDevice;
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
 
//see if this device is in a list of currently visible (?), paired devices
Set<BluetoothDevice> pairedDevices = btAdapter.getBondedDevices();
 
for (BluetoothDevice pairedDevice : pairedDevices) {
if(pairedDevice.getAddress().equals(lastUsedRemoteDevice)) {
toastText="Found device: " + pairedDevice.getName() + "@" + lastUsedRemoteDevice;
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
remoteDevice = pairedDevice;
}
}
}
 
Set<BluetoothDevice> pairedDevices = btAdapter.getBondedDevices();
//Show paired devices
if (pairedDevices.size() > 0) {
// Loop through paired devices
for (BluetoothDevice device : pairedDevices) {
// Add the name and address to an array adapter to show in a ListView
//mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
Toast.makeText(Main.this, device.getName() + "\n" + device.getAddress(), Toast.LENGTH_SHORT).show();
}
}
 
if(remoteDevice == null) {
toastText="Starting discovery for remote devices...";
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
 
// start discover
if (btAdapter.startDiscovery()) {
toastText="Discovery thread started... Scanning for devices";
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
 
registerReceiver(discoveryResult, new IntentFilter(BluetoothDevice.ACTION_FOUND));
}
}
 
}//End findDevices
 
//Create a BroadcastReceiver to receive device discovery
private final BroadcastReceiver discoveryResult = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// String remoteDeviceName = intent.getStringExtra(BluetoothDevice.EXTRA_NAME);
//
// remoteDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
//
// toastText="Discovered: " + remoteDeviceName;
// Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
 
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// Add the name and address to an array adapter to show in a ListView
// mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
toastText="Discovered: " + device.getName() + "\n" + device.getAddress();
Toast.makeText(Main.this, toastText, Toast.LENGTH_SHORT).show();
}
}
};
 
private String getLastUsedRemoteBTDevice() {
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
String result = prefs.getString("LAST_REMOTE_DEVICE_ADDRESS", null);
return result;
}
}
 
 
I just cant see where I am going wrong I followed all the steps everything works yet when it gets to the Discovery thread started... Scanning for devices
 
nothing happens after that I never see "Discovered: " + device.getName() (yet when I look at the bluetooth on the phone there is 6 or more discover able devices?
 
 
Any advice would be great
 
 
Thanks in advance
 
 
Adam.
Sujeet IIITD <sujeet14108@iiitd.ac.in>: Jun 16 02:42PM -0700

Hi everyone!
We have created a new offline chat application which allows user to chat
freely in range of 100m.
We have ready with alpha version of it and want people to review and test
this app as alpha testers.
Hope you all would help me in this
Link : https://play.google.com/apps/testing/com.nearpeer.app
Aaron Shavolian <ashavolian@nshahs.org>: Jun 16 02:33PM -0700

Disclaimer: I'm a beginner straight out of AP Computer Science.
 
I'm trying to make an app that converts text input from the user into pig
latin... For practice.
 
Here's my code:
 
package com.example.ashavolian.piglatin2;
 
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;
 
public class MainActivity extends AppCompatActivity {
 
TextView txtOut;
EditText txtIn;
Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtOut = (TextView) findViewById(R.id.txtOut);
txtIn = (EditText) findViewById(R.id.txtIn);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String txtTxtIn = txtIn.getText().toString();
txtOut.setText(translate(txtTxtIn));
}
});
 
}
public String translate(String txtTxtIn)
{
 
int length = txtTxtIn.length();
String pigLatin = "";
for (int b = 0; b < length; b++) {
int space = txtTxtIn.indexOf(" ");
String word = txtTxtIn.substring(0, space);
int a = word.indexOf("a");
int e = word.indexOf("e");
int i = word.indexOf("i");
int o = word.indexOf("o");
int u = word.indexOf("u");
 
int vowels[] = {a, e, i, o, u};
 
for (int c = 0; c < 4; c++)
{
if (vowels[c] == -1)
vowels[c] += 101;
}
 
for (int d = 0; d < 4; d++)
{
if (vowels[d] > -1 && vowels[d] <= vowels[0] && vowels[d] <= vowels[1] && vowels[d] <= vowels[2] && vowels[d] <= vowels[3] && vowels[d] <= vowels[4])
{
word = word.substring(vowels[i] + 1) + word.substring(0,vowels[i]);
pigLatin += " " + word;
}
}
 
/*if (a != -1 && a < e && a < i && a < o && a < u) {
word = word.substring(a + 1) + word.substring(0, a);
pigLatin += " " + word;
} else if (e != -1 && e < a && e < i && e < o && e < u) {
word = word.substring(e + 1) + word.substring(0, e);
pigLatin += " " + word;
} else if (i != -1 && i < e && i < a && i < o && i < u) {
word = word.substring(i + 1) + word.substring(0, i);
pigLatin += " " + word;
} else if (o != -1 && o < e && o < i && o < a && o < u) {
word = word.substring(o + 1) + word.substring(0, o);
pigLatin += " " + word;
} else if (u != -1 && u < e && u < i && u < o && u < a) {
word = word.substring(u + 1) + word.substring(0, u);
pigLatin += " " + word;
}*/
txtTxtIn = txtTxtIn.substring(space + 1);
}
return pigLatin;
 
}
}
 
The error only occurs when you press the button. Making the Program crash.
 
Here's the error:
 
 
FATAL EXCEPTION: main
Process: com.example.ashavolian.piglatin2, PID: 2991
java.lang.StringIndexOutOfBoundsException: length=0; regionStart=0; regionLength=-1
at java.lang.String.startEndAndLength(String.java:298)
at java.lang.String.substring(String.java:1087)
at com.example.ashavolian.piglatin2.MainActivity.translate(MainActivity.java:39)
at com.example.ashavolian.piglatin2.MainActivity$1.onClick(MainActivity.java:27)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
 
Please take a look if you can, thanks.
Roopa Venkatesh <roopav81@gmail.com>: Jun 16 02:19PM -0700

Can any of you help on this?
Neha Kumari <neha.recr@gmail.com>: Jun 16 05:02PM -0400

*Hello,*
 
*GREETINGS !!*
 
*This is Neha from Apetan consulting,*
 
*Please find the below job description and send me your update resume
matching to it along with Contact details, Current location, Visa and
Availability ASAP.*
 
 
 
*POSITION: SAP Product Costing Consultant*
 
* INTERVIEW: Phone/Skype Interview*
 
*LOCATION: Raleigh, NC*
 
*DURATION:6-12 MONTHS*
 
*START :ASAP*
 
 
 
 
 
*Job Overview:*
 
 
 
*This is a new Simple Finance (sFin) project *
 
*Scope: 10 European countries: Finance Green field project (with MM, SD,
PP)*
 
 
 
Thanks,
 
 
 
 
 
 
--
 
 
 
*Neha Kumari |* *Technical Recruiter* | *Apetan Consulting LLC*
 
Tel:201-620-9700* 106 | Fax: 201-526-6869 | 72 Van
 
Reipen Avenue # 255 Jersey City, NJ 07306 |
 
neha@apetan.com | www.apetan.com |
mike digioia <mpd395@gmail.com>: Jun 16 12:33PM -0700

Submit me
Neha Kumari <neha.recr@gmail.com>: Jun 16 03:16PM -0400

*Hello,*
 
*GREETINGS !!*
 
*This is Neha from Apetan consulting,*
 
*Please find the below job description and send me your update resume
matching to it along with Contact details, Current location, Visa and
Availability ASAP.*
 
 
 
*POSITION: VMware Engineers*
 
* INTERVIEW: Phone/Skype Interview*
 
*LOCATION: Columbia, SC*
 
*DURATION:12 MONTHS*
 
*START :ASAP*
 
 
 
 
 
*Job Overview:*
 
 
 
 
 
SKILLS REQUIRED:
- At least 8 years experience in Information Technology.
- VCP certification required, or five years equivalent experience in VMWARE
- Proven experience resolving problems in enterprise environments with
known issues on both the SAN and Vmware front.
- Knowledge of Virtual Machine operation, strengths, and weaknesses.
- Experience with VMware ESX administration
- Creating architectural documentation for VMware and SAN improvements
based on industry best practices.
- Capacity planning based on technical analysis research
- Up to date expert level knowledge on various Vmware infrastructure
product lines (Desktop virtualization, SQL virtualization)
- Experience in monitoring infrastructure systems for Windows environments
- Strong interpersonal, written, and oral communication skills a must.
- Able to conduct research into infrastructure issues and products as
required.
- Leading effective team meetings
- Ability to present ideas in user-friendly language.
- Highly self motivated and directed, with keen attention to detail.
- Proven analytical and problem-solving abilities.
- Experienced hardware troubleshooting.
- Able to effectively prioritize tasks in a high-pressure environment.
- Strong customer service orientation.
- Experience working in a team-oriented, collaborative environment.
 
REQUIRED CERTIFICATION: VCP certification required, or five years
equivalent experience in VMWARE.
 
SKILLS PREFERRED:
Highly Preferred
- Experience within a NIST and/or PCI environment.
- Experience and working knowledge of backup products and methodologies.
- Experience with Change Management
- Ability to craft proactive and automated scripts and tools
- Support of web-based applications for internal (intranet) sites and
external (Internet) sites.
- Hands-on technical knowledge of network and server operating systems
- Working technical knowledge of current network hardware, protocols, and
Internet standards, including TCP/IP, and DNS, DHCP.
- Experience in developing and maintaining documentation for policies,
procedures, and best practices.
- HANDS ON experience analyzing, designing, DOCUMENTING, and deploying
large scale virtualization and SAN environments
- Experience designing 99.9% uptime environments (HA and DR experience
required)
- Experience designing and supporting EMC storage, including but not
limited to EMC NS-480, VNX 5700, and VMAX storage lines.
- Experience designing backup strategies for large scale organizations
based on best practices
- Experience with backup tools like AVAMAR
 
 
 
Thanks,
 
 
--
 
 
 
*Neha Kumari |* *Technical Recruiter* | *Apetan Consulting LLC*
 
Tel:201-620-9700* 106 | Fax: 201-526-6869 | 72 Van
 
Reipen Avenue # 255 Jersey City, NJ 07306 |
 
neha@apetan.com | www.apetan.com |
Neha Kumari <neha.recr@gmail.com>: Jun 16 03:01PM -0400

*Hello,*
 
*GREETINGS !!*
 
*This is Neha from Apetan consulting,*
 
*Please find the below job description and send me your update resume
matching to it along with Contact details, Current location, Visa and
Availability ASAP.*
 
 
 
*POSITION: Oracle DBA*
 
* INTERVIEW: Phone than F2F Interview*
 
*LOCATION: Basking ridge NJ*
 
*DURATION:2 MONTHS*
 
*START :ASAP*
 
 
 
 
 
*Job Overview:*
 
 
 
*85hr and as long as they pass the client interview and and start Monday or
Tuesday. *
 
*2 Months Project | LOCAL | *
 
 
 
*Need locals for FTF interview*
 
 
 
*I need a Oracle DBA that can start on Monday for a 2 month contract in New
Jersy/New York area – have anyone? Below is what I am looking for:*
 
 
 
*I need someone with oracle 10g,11g&12c Solaris in a RAC environment onsite
basking ridge NJ *
 
 
 
 
 
 
--
 
 
 
*Neha Kumari |* *Technical Recruiter* | *Apetan Consulting LLC*
 
Tel:201-620-9700* 106 | Fax: 201-526-6869 | 72 Van
 
Reipen Avenue # 255 Jersey City, NJ 07306 |
 
neha@apetan.com | www.apetan.com |
GesaVoIP Voip <ggeenti@gmail.com>: Jun 16 11:15AM -0700

Hello, I am new to developing apps and games, I tried to publish apps and
games to test only by me but 2 apps were suspended.
 
I don't have any app downloaded by someone else except me. I contacted them
and I am still contacting but they are saying they can not do nothing, and
they are just sending me rules links.
 
With who I need to contact to be able to fix this ?????
Ateeq Rehman <ateeq.staffing@gmail.com>: Jun 16 12:12PM -0400

Hi Folk,
 
Hope you are doing well.
 
This is Ateeq, from Diverse Lynx.
 
 
 
*Please share profile for Drupal **Developer** at
ateeq.rehman@diverselynx.com <ateeq.rehman@diverselynx.com>*
 
*Note: Must Need Visa Copy and passport number for submission.*
 
 
 
*Job Description:*
 
 
 
*Role: Drupal Developer*
 
*Location: New York City, NY*
 
*Experience: 7 years*
 
 
 
 
 
*Key Skills:* MySQL, PHP, Drupal, Git, AWS, React frontend.
 
 
 
*Detailed JD:*
 
 
MySQL, PHP & Drupal work experience in the past
 
Agile, Git, AWS, React frontend - Headless Drupal - (Storage)
 
Module development - Headless architecture in Drupal 7
 
 
 
 
 
 
 
 
 
*Thanks & Regards*
 
*Ateeq Rehman*
 
*Diverse Lynx LLC|300 Alexander Park|Suite#200|Princeton, NJ 08540*
 
*Phone No: 732-452-1006 EXT 215*
 
*Email: **ateeq.rehman@diverselynx.com* <ateeq.rehman@diverselynx.com>* ||
Hangout: ateeq.staffing*
sreeram shyam <shyam.sreeram@gmail.com>: Jun 16 10:58PM +0530

Hi Ateeq,
 
I am having good experience in drupal. Can you process my profile and let
me know for further process
 
Regards
Shyam
 
Hi Folk,
 
Hope you are doing well.
 
This is Ateeq, from Diverse Lynx.
 
 
 
*Please share profile for Drupal **Developer** at
ateeq.rehman@diverselynx.com <ateeq.rehman@diverselynx.com>*
 
*Note: Must Need Visa Copy and passport number for submission.*
 
 
 
*Job Description:*
 
 
 
*Role: Drupal Developer*
 
*Location: New York City, NY*
 
*Experience: 7 years*
 
 
 
 
 
*Key Skills:* MySQL, PHP, Drupal, Git, AWS, React frontend.
 
 
 
*Detailed JD:*
 
 
MySQL, PHP & Drupal work experience in the past
 
Agile, Git, AWS, React frontend - Headless Drupal - (Storage)
 
Module development - Headless architecture in Drupal 7
 
 
 
 
 
 
 
 
 
*Thanks & Regards*
 
*Ateeq Rehman*
 
*Diverse Lynx LLC|300 Alexander Park|Suite#200|Princeton, NJ 08540*
 
*Phone No: 732-452-1006 EXT 215*
 
*Email: **ateeq.rehman@diverselynx.com* <ateeq.rehman@diverselynx.com>* ||
Hangout: ateeq.staffing*
 
--
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to android-developers+unsubscribe@googlegroups.com.
To post to this group, send email to android-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit
https://groups.google.com/d/msgid/android-developers/CAN6NZJvkU-vhv-DHEwZF_7z1G2dWyE%2B4R6h6v9MjcmoqQBsMdA%40mail.gmail.com
<https://groups.google.com/d/msgid/android-developers/CAN6NZJvkU-vhv-DHEwZF_7z1G2dWyE%2B4R6h6v9MjcmoqQBsMdA%40mail.gmail.com?utm_medium=email&utm_source=footer>
.
For more options, visit https://groups.google.com/d/optout.
Jadhav Ashok <jadhav.groups@gmail.com>: Jun 16 12:54PM -0400

*Salesforce Developer/Admin*
*NYC, NY*
*LOCALS ONLY*
*NEED VISA COPY AND REFERENCES*
 
Need more of a Developer with some admin skills
 
*Responsibilities:*
 
- Collaborate with leadership across the company to evaluate, streamline
and optimize their processes and business workflow using Salesforce.com
- Identify ways to improve pipeline accuracy and further automate
existing Salesforce.com processes and workflow rules, minimizing the
opportunity for human error
- Act as lead Salesforce.com Administrator supporting all divisions of
the business, including day-to-day maintenance and user technical support
- Evaluate existing custom APEX code and identify ways to improve it by
implementing new systems and/or applications to fulfill business needs,
with a strong understanding of Salesforce APEX Governor Limits and how to
work around them
- Work with Sales Leadership to develop and expand capabilities of
Salesforce Wave Analytics platform to meet their needs and provide better
visibility into the pipeline
- Work with Business Intelligence team to implement new connections to
our data warehouse as needed, as well as to maintain the integrity of our
existing data connections and mappings based on evolving business rules
- Perform sales pipeline analysis and communicate trends, risks and
opportunities to Sales leadership
- Perform ad-hoc analyses and reporting requests from senior management,
providing a strategic, data-driven approach to decision-making
- Continually assess day to day tasks in order to optimize, streamline,
and automate to maximize productivity and impact of the Sales Analytics team
 
 
*Job Requirements*
 
- 6+ years in a quantitative, business, financial, or data analyst role,
including 4+ years SFDC customization/development and 2+ years SFDC
administration
- Proven quantitative analytical abilities
- A high level of maturity and the ability to work in groups and
independently
- Motivated self-starter with a collaborative and entrepreneurial spirit
- Willing and able to adapt to multiple demands and shifting priorities
- A desire to expand your knowledge base and take on new tasks and
projects
- Salesforce Certification is a plus
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to android-developers+unsubscribe@googlegroups.com.

No comments:

Post a Comment